Precoding in wireless systems using orthogonal time frequency space multiplexing

ABSTRACT

Device, methods and systems for precoding in wireless systems using orthogonal time frequency space multiplexing are described. An exemplary method for transmitting wireless signals includes mapping data to generate a quadrature amplitude modulation (QAM) signal in a delay Doppler domain, determining a perturbation signal to minimize expected interference and noise, perturbing the QAM signal with the perturbation signal, thereby producing a perturbed signal, generating a pre-coded signal by pre-coding, using a linear pre-coder, the perturbed signal, and transmitting the pre-coded signal using an orthogonal time frequency space modulation signal scheme.

CROSS-REFERENCES TO RELATED APPLICATIONS

This patent document is a continuation of U.S. patent application Ser.No. 16/859,135, filed Apr. 27, 2020 entitled “PRECODING IN WIRELESSSYSTEMS USING ORTHOGONAL TIME FREQUENCY SPACE MULTIPLEXING” which is acontinuation of International Patent Application No. PCT/US2018/058787,filed Nov. 1, 2018, entitled “PRECODING IN WIRELESS SYSTEMS USINGORTHOGONAL TIME FREQUENCY SPACE MULTIPLEXING,” which claims priority toand benefits of U.S. Provisional Application No. 62/580,047 entitled“PRECODING IN ORTHOGONAL TIME FREQUENCY SPACE MULTIPLEXING” filed on 1Nov. 2017, and U.S. Provisional Application No. 62/587,289 entitled“PRECODING IN ORTHOGONAL TIME FREQUENCY SPACE MULTIPLEXING” filed on 16Nov. 2017. The entire contents of the aforementioned patent applicationsare incorporated by reference as part of the disclosure of this patentdocument.

TECHNICAL FIELD

The present document relates to wireless communication, and moreparticularly, to using precoding in wireless communications.

BACKGROUND

Due to an explosive growth in the number of wireless user devices andthe amount of wireless data that these devices can generate or consume,current wireless communication networks are fast running out ofbandwidth to accommodate such a high growth in data traffic and providehigh quality of service to users.

Various efforts are underway in the telecommunication industry to comeup with next generation of wireless technologies that can keep up withthe demand on performance of wireless devices and networks.

SUMMARY

This document discloses techniques that can be used to precode wirelesssignals.

In one example aspect, a method for transmitting wireless signals isdisclosed. The method includes mapping data to generate a quadratureamplitude modulation (QAM) signal in a delay Doppler domain, determininga perturbation signal to minimize expected interference and noise,perturbing the QAM signal with the perturbation signal, therebyproducing a perturbed signal, generating a pre-coded signal bypre-coding, using a linear pre-coder, the perturbed signal, andtransmitting the pre-coded signal using an orthogonal time frequencyspace modulation signal scheme.

In another example aspect, a wireless communication method is disclosed.The method includes generating a quadrature amplitude modulation (QAM)signal in the 2D delay-Doppler domain by modulating data bits, using anerror metric along with the QAM signal to generate a perturbationsignal, adding the perturbation signal to the QAM signal to generate aperturbed QAM signal, transforming the perturbed QAM signal into the 2Dtime frequency domain by using a 2D Fourier transform from the 2D delayDoppler domain to the 2D time frequency domain, filtering the 2Dtransformed signal using an optimal precoding filter to generate aprecoded signal, and transmitting the precoded signal over acommunication medium.

In yet another example aspect, a method of receiving wireless signals isdisclosed. The method includes receiving a quadrature amplitudemodulation (QAM) signal in the time-frequency domain, applying anorthogonal transformation to convert the received QAM signal intodelay-Doppler domain, determining a closest lattice point correspondingto the QAM constellation point of the QAM signal in the delay-Dopplerdomain, removing perturbation in the received QAM signal by subtractingthe closest lattice point from the QAM constellation point, anddemodulating the un-perturbed QAM signal to obtain data.

In another example aspect, a wireless communication apparatus thatimplements the above-described methods is disclosed.

In yet another example aspect, the method may be embodied asprocessor-executable code and may be stored on a computer-readableprogram medium.

These, and other, features are described in this document.

DESCRIPTION OF THE DRAWINGS

Drawings described herein are used to provide a further understandingand constitute a part of this application. Example embodiments andillustrations thereof are used to explain the technology rather thanlimiting its scope.

FIG. 1 depicts an example network configuration in which a hub servicesfor user equipment (UE).

FIG. 2 depicts an example embodiment in which an orthogonal frequencydivision multiplexing access (OFDMA) scheme is used for communication.

FIG. 3 illustrates the concept of precoding in an example networkconfiguration.

FIG. 4 is a spectral chart of an example of a wireless communicationchannel.

FIG. 5 illustrates examples of downlink and uplink transmissiondirections.

FIG. 6 illustrates spectral effects of an example of a channelprediction operation.

FIG. 7 graphically illustrates operation of an example implementation ofa zero-forcing precoder (ZFP).

FIG. 8 graphically compares two implementations—a ZFP implementation andregularized ZFP implementation (rZFP).

FIG. 9 shows components of an example embodiment of a precoding system.

FIG. 10 is a block diagram depiction of an example of a precodingsystem.

FIG. 11 shows an example of a quadrature amplitude modulation (QAM)constellation.

FIG. 12 shows another example of QAM constellation.

FIG. 13 pictorially depicts an example of relationship betweendelay-Doppler domain and time-frequency domain.

FIG. 14 is a spectral graph of an example of an extrapolation process.

FIG. 15 is a spectral graph of another example of an extrapolationprocess.

FIG. 16 compares spectra of a true and a predicted channel in someprecoding implementation embodiments.

FIG. 17 is a block diagram depiction of a process for computingprediction filter and error covariance.

FIG. 18 is a block diagram illustrating an example of a channelprediction process.

FIG. 19 is a graphical depiction of channel geometry of an examplewireless channel.

FIG. 20 is a graph showing an example of a precoding filter antennapattern.

FIG. 21 is a graph showing an example of an optical pre-coding filter.

FIG. 22 is a block diagram showing an example process of errorcorrelation computation.

FIG. 23 is a block diagram showing an example process of precodingfilter estimation.

FIG. 24 is a block diagram showing an example process of applying anoptimal precoding filter.

FIG. 25 is a graph showing an example of a lattice and QAM symbols.

FIG. 26 graphically illustrates effects of perturbation examples.

FIG. 27 is a graph illustrating an example of hub transmission.

FIG. 28 is a graph showing an example of the process of a UE finding aclosest coarse lattice point.

FIG. 29 is a graph showing an example process of UE recovering a QPSKsymbol by subtraction.

FIG. 30 depicts an example of a channel response.

FIG. 31 depicts an example of an error of channel estimation.

FIG. 32 shows a comparison of energy distribution of an example of QAMsignals and an example of perturbed QAM signals.

FIG. 33 is a graphical depiction of a comparison of an example errormetric with an average perturbed QAM energy.

FIG. 34 is a block diagram illustrating an example process of computingan error metric.

FIG. 35 is a block diagram illustrating an example process of computingperturbation.

FIG. 36 is a block diagram illustrating an example of application of aprecoding filter.

FIG. 37 is a block diagram illustrating an example process of UEremoving the perturbation.

FIG. 38 is a block diagram illustrating an example spatial TomlinsonHarashima precoder (THP).

FIG. 39 is a spectral chart of the expected energy error for differentPAM vectors.

FIG. 40 is a plot illustrating an example result of a spatial THP.

FIG. 41 shows examples of local signals in delay-Doppler domain beingnon-local in time-frequency domain

FIG. 42 is a block diagram illustrating an example of the computation ofcoarse perturbation using Cholesky factor.

FIG. 43 shows an exemplary estimate of the channel impulse response forthe SISO single carrier case.

FIG. 44 shows spectral plots of an example of the comparison of Choleskyfactor and its inverse.

FIG. 45 shows an example of an overlay of U⁻¹ column slices.

FIG. 46 is a block diagram illustrating an example of the computation ofcoarse perturbation using U⁻¹ for the SISO single carrier case.

FIG. 47 is a block diagram illustrating an example of the computation ofcoarse perturbations using W_(THP) for the SISO single carrier case.

FIG. 48 shows an exemplary plot of a channel frequency response for theSISO single carrier case.

FIG. 49 shows an exemplary plot comparing linear and non-linearprecoders for the SISO single carrier case.

FIG. 50 is a block diagram illustrating an example of the algorithm forthe computation of perturbation using U⁻¹ for the SISO OTFS case.

FIG. 51 is a block diagram illustrating an example of the update step ofthe algorithm for the computation of perturbation using U⁻¹ for the SISOOTFS case.

FIG. 52 shows an exemplary spectral plot of a channel frequency responsefor the SISO OTFS case.

FIG. 53 shows exemplary spectral plots comparing the SINR experienced bythe UE for two precoding schemes for the SISO OTFS case.

FIG. 54 is a block diagram illustrating an example of the update step ofthe algorithm for the computation of perturbation using U⁻¹ for the MIMOsingle carrier case.

FIG. 55 is a block diagram illustrating an example of the update step ofthe algorithm for the computation of perturbation using W_(THP) for theMMO single carrier case.

FIG. 56 shows plots comparing the SINR experienced by the 8 UEs for twoprecoding schemes in the MIMO single carrier case.

FIG. 57 is a block diagram illustrating an example of the update step ofthe algorithm for the computation of perturbation using U⁻¹ for the MIMOOTFS case.

FIG. 58 is a block diagram illustrating an example of the update step ofthe algorithm for the computation of perturbation using W_(THP) for theMIMO OTFS case.

FIG. 59 shows plots comparing the SINR experienced by 1 UE for twoprecoding schemes in the MIMO OTFS case.

FIG. 60 is a flowchart of an example wireless communication method.

FIG. 61 is a flowchart of an example wireless communication method.

FIG. 62 is a flowchart of an example wireless communication method.

FIG. 63 is an example of a wireless communication system.

FIG. 64 is a block diagram of a wireless communication apparatus.

DETAILED DESCRIPTION

To make the purposes, technical solutions and advantages of thisdisclosure more apparent, various embodiments are described in detailbelow with reference to the drawings. Unless otherwise noted,embodiments and features in embodiments of the present document may becombined with each other.

Section headings are used in the present document, including theappendices, to improve readability of the description and do not in anyway limit the discussion to the respective sections only. The terms“hub” and user equipment/device are used to refer to the transmittingside apparatus and the receiving side apparatus of a transmission, andeach may take the form of a base station, a relay node, an access point,a small-cell access point, user equipment, and so on.

Multiple Access

FIG. 1 depicts a typical example scenario in wireless communication is ahub transmitting data over a fixed time and bandwidth to several userdevices (UEs). For example: a tower transmitting data to several cellphones, or a Wi-Fi router transmitting data to several devices. Suchscenarios are called multiple access scenarios.

Orthogonal Multiple Access

Currently the common technique used for multiple access is orthogonalmultiple access. This means that the hub breaks it's time and frequencyresources into disjoint pieces and assigns them to the UEs. An exampleis shown in FIG. 2, where four UEs (UE1, UE2, UE3 and UE4) get fourdifferent frequency allocations and therefore signals are orthogonal toeach other.

The advantage of orthogonal multiple access is that each UE experienceits own private channel with no interference. The disadvantage is thateach UE is only assigned a fraction of the available resource and sotypically has a low data rate compared to non-orthogonal cases.

Precoding Multiple Access

Recently, a more advanced technique, precoding, has been proposed formultiple access. In precoding, the hub is equipped with multipleantennas. The hub uses the multiple antennas to create separate beamswhich it then uses to transmit data over the entire bandwidth to theUEs. An example is depicted in FIG. 3, which shows that the hub is ableto form individual beams of directed RF energy to UEs based on theirpositions.

The advantage of precoding it that each UE receives data over the entirebandwidth, thus giving high data rates. The disadvantage of precoding isthe complexity of implementation. Also, due to power constraints andnoisy channel estimates the hub cannot create perfectly disjoint beams,so the UEs will experience some level of residual interference.

Introduction to Precoding

Precoding may be implemented in four steps: channel acquisition, channelextrapolation, filter construction, filter application.

Channel acquisition: To perform precoding, the hub determines howwireless signals are distorted as they travel from the hub to the UEs.The distortion can be represented mathematically as a matrix: taking asinput the signal transmitted from the hubs antennas and giving as outputthe signal received by the UEs, this matrix is called the wirelesschannel.

Channel prediction: In practice, the hub first acquires the channel atfixed times denoted by s₁, s₂, . . . , s_(n). Based on these values, thehub then predicts what the channel will be at some future times when thepre-coded data will be transmitted, we denote these times denoted by t₁,t₂, . . . , t_(m).

Filter construction: The hub uses the channel predicted at t₁, t₂, . . ., t_(m) to construct precoding filters which minimize the energy ofinterference and noise the UEs receive.

Filter application: The hub applies the precoding filters to the data itwants the UEs to receive.

Channel Acquisition

This section gives a brief overview of the precise mathematical modeland notation used to describe the channel.

Time and frequency bins: the hub transmits data to the UEs on a fixedallocation of time and frequency. This document denotes the number offrequency bins in the allocation by N_(f) and the number of time bins inthe allocation by N_(t).

Number of antennas: the number of antennas at the hub is denoted byL_(h), the total number of UE antennas is denoted by L_(u).

Transmit signal: for each time and frequency bin the hub transmits asignal which we denote by φ(f,t)∈

^(L) ^(h) for f=1, . . . , N_(f) and t=1, . . . , N_(t).

Receive signal: for each time and frequency bin the UEs receive a signalwhich we denote by y(f,t)∈

^(l) ^(u) for f=1, . . . , N_(f) and t=1, . . . , N_(t).

White noise: for each time and frequency bin white noise is modeled as avector of iid Gaussian random variables with mean zero and variance No.This document denotes the noise by w(f,t)∈

^(L) ^(u) for f=1, . . . , N_(f) and t=1, . . . , N_(t).

Channel matrix: for each time and frequency bin the wireless channel isrepresented as a matrix and is denoted by H(f,t)∈

^(L) ^(u) ^(×L) ^(h) for f=1, . . . , N_(f) and t=1, . . . , N_(t).

The wireless channel can be represented as a matrix which relates thetransmit and receive signals through a simple linear equation:

y(f,t)=H(f,t)φ(f,t)+w(f,t)  (1)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). FIG. 4 shows an examplespectrogram of a wireless channel between a single hub antenna and asingle UE antenna. The graph is plotted with time as the horizontal axisand frequency along the vertical axis. The regions are shaded toindicate where the channel is strong or weak, as denoted by the dBmagnitude scale shown in FIG. 4.

Two common ways are typically used to acquire knowledge of the channelat the hub: explicit feedback and implicit feedback.

Explicit Feedback

In explicit feedback, the UEs measure the channel and then transmit themeasured channel back to the hub in a packet of data. The explicitfeedback may be done in three steps.

Pilot transmission: for each time and frequency bin the hub transmits apilot signal denoted by p(f,t)∈

^(L) ^(h) for f=1, . . . , N_(f) and t=1, . . . , N_(t). Unlike data,the pilot signal is known at both the hub and the UEs.

Channel acquisition: for each time and frequency bin the UEs receive thepilot signal distorted by the channel and white noise:

H(f,t)p(f,t)+w(f,t),  (2)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). Because the pilot signalis known by the UEs, they can use signal processing to compute anestimate of the channel, denoted by Ĥ(f,t).

Feedback: the UEs quantize the channel estimates Ĥ(f,t) into a packet ofdata. The packet is then transmitted to the hub.

The advantage of explicit feedback is that it is relatively easy toimplement. The disadvantage is the large overhead of transmitting thechannel estimates from the UEs to the hub.

Implicit Feedback

Implicit feedback is based on the principle of reciprocity which relatesthe uplink channel (UEs transmitting to the hub) to the downlink channel(hub transmitting to the UEs). FIG. 5 shows an example configuration ofuplink and downlink channels between a hub and multiple UEs.

Specifically, denote the uplink and downlink channels by H_(up) and Hrespectively, then:

H(f,t)=AH _(up) ^(T)(f,t)B,  (3)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). Where H_(up) ^(T)(f,t)denotes the matrix transpose of the uplink channel. The matrices A∈

^(L) ^(u) ^(×L) ^(u) and B∈

^(L) ^(h) ^(×L) ^(h) represent hardware non-idealities. By performing aprocedure called reciprocity calibration, the effect of the hardwarenon-idealities can be removed, thus giving a simple relationship betweenthe uplink and downlink channels:

H(f,t)=H _(up) ^(T)(f,t)  (4)

The principle of reciprocity can be used to acquire channel knowledge atthe hub. The procedure is called implicit feedback and consists of threesteps.

Reciprocity calibration: the hub and UEs calibrate their hardware sothat equation (4) holds.

Pilot transmission: for each time and frequency bin the UEs transmits apilot signal denoted by p(f,t)∈

^(L) ^(u) for f=1, . . . , N_(f) and t=1, . . . , N_(t). Unlike data,the pilot signal is known at both the hub and the UEs.

Channel acquisition: for each time and frequency bin the hub receivesthe pilot signal distorted by the uplink channel and white noise:

H _(up)(f,t)p(f,t)+w(f,t)  (5)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). Because the pilot signalis known by the hub, it can use signal processing to compute an estimateof the uplink channel, denoted by

(f,t). Because reciprocity calibration has been performed the hub cantake the transpose to get an estimate of the downlink channel, denotedby Ĥ(f,t).

The advantage of implicit feedback is that it allows the hub to acquirechannel knowledge with very little overhead; the disadvantage is thatreciprocity calibration is difficult to implement.

Channel Prediction

Using either explicit or implicit feedback, the hub acquires estimatesof the downlink wireless channel at certain times denoted by s₁, s₂, . .. , s_(n) using these estimates it must then predict what the channelwill be at future times when the precoding will be performed, denoted byt₁, t₂, . . . , t_(m). FIG. 6 shows this setup in which “snapshots” ofchannel are estimated, and based on the estimated snapshots, aprediction is made regarding the channel at a time in the future. Asdepicted in FIG. 6, channel estimates may be available across thefrequency band at a fixed time slots, and based on these estimates, apredicated channel is calculated.

There are tradeoffs when choosing the feedback times s₁, s₂, . . . ,s_(n).

Latency of extrapolation: Refers to the temporal distance between thelast feedback time, s_(n), and the first prediction time, t₁, determineshow far into the future the hub needs to predict the channel. If thelatency of extrapolation is large, then the hub has a good lead time tocompute the pre-coding filters before it needs to apply them. On theother hand, larger latencies give a more difficult prediction problem.

Density: how frequent the hub receives channel measurements via feedbackdetermines the feedback density. Greater density leads to more accurateprediction at the cost of greater overhead.

There are many channel prediction algorithms in the literature. Theydiffer by what assumptions they make on the mathematical structure ofthe channel. The stronger the assumption, the greater the ability toextrapolate into the future if the assumption is true. However, if theassumption is false then the extrapolation will fail. For example:

Polynomial extrapolation: assumes the channel is smooth function. Iftrue, can extrapolate the channel a very short time into the future ≈0.5ms.

Bandlimited extrapolation: assumes the channel is a bandlimitedfunction. If true, can extrapolated a short time into the future ≈1 ms.

MUSIC extrapolation: assumes the channel is a finite sum of waves. Iftrue, can extrapolate a long time into the future ≈10 ms.

Precoding Filter Computation and Application

Using extrapolation, the hub computes an estimate of the downlinkchannel matrix for the times the pre-coded data will be transmitted. Theestimates are then used to construct precoding filters. Precoding isperformed by applying the filters on the data the hub wants the UEs toreceive. Before going over details we introduce notation.

Channel estimate: for each time and frequency bin the hub has anestimate of the downlink channel which we denote by Ĥ(f,t)∈

^(L) ^(u) ^(×L) ^(h) for f=1, . . . , N_(f) and t=1, . . . , N_(t).

Precoding filter: for each time and frequency bin the hub uses thechannel estimate to construct a precoding filter which we denote byW(f,t)∈

^(L) ^(h) ^(×L) ^(u) for f=1, . . . , N_(f) and t=1, . . . , N_(t).

Data: for each time and frequency bin the UE wants to transmit a vectorof data to the UEs which we denote by x(f,t)∈

^(L) ^(u) for f=1, . . . , N_(f) and t=1, . . . , N_(t).

Hub Energy Constraint

When the precoder filter is applied to data, the hub power constraint isan important consideration. We assume that the total hub transmit energycannot exceed N_(f)N_(t)L_(h). Consider the pre-coded data:

W(f,t)x(f,t),  (6)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). To ensure that thepre-coded data meets the hub energy constraints the hub appliesnormalization, transmitting:

λW(f,t)x(f,t),  (7)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). Where the normalizationconstant λ is given by:

$\begin{matrix}{\lambda = \sqrt{\frac{N_{f}N_{t}L_{h}}{\sum\limits_{f,t}\; {{{W\left( {f,t} \right)}{x\left( {f,t} \right)}}}^{2}}}} & (8)\end{matrix}$

Receiver SNR

The pre-coded data then passes through the downlink channel, the UEsreceive the following signal:

λH(f,t)W(f,t)×(f,t)+w(f,t),  (9)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). The UE then removes thenormalization constant, giving a soft estimate of the data:

$\begin{matrix}{{{x_{soft}\left( {f,t} \right)} = {{{H\left( {f,t} \right)}{W\left( {f,t} \right)}{x\left( {f,t} \right)}} + {\frac{1}{\lambda}{w\left( {f,t} \right)}}}},} & (10)\end{matrix}$

for f=1, . . . , N_(f) and t=1, . . . , N_(t). The error of the estimateis given by:

$\begin{matrix}{{{{x_{soft}\left( {f,t} \right)} - {x\left( {f,t} \right)}} = {{{H\left( {f,t} \right)}{W\left( {f,t} \right)}{x\left( {f,t} \right)}} - {x\left( {f,t} \right)} + {\frac{1}{\lambda}{w\left( {f,t} \right)}}}},} & (11)\end{matrix}$

The error of the estimate can be split into two terms. The termH(f,t)W(f,t)−x(f,t) is the interference experienced by the UEs while theterm

$\frac{1}{\lambda}{w\left( {f,t} \right)}$

gives the noise experienced by the UEs.

When choosing a pre-coding filter there is a tradeoff betweeninterference and noise. We now review the two most popular pre-coderfilters: zero-forcing and regularized zero-forcing.

Zero Forcing Precoder

The hub constructs the zero forcing pre-coder (ZFP) by inverting itschannel estimate:

W _(ZF)(f,t)=(Ĥ*(f,t)Ĥ(f,t))⁻¹ Ĥ*(f,t)  (12)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). The advantage of ZPP isthat the UEs experience little interference (if the channel estimate isperfect then the UEs experience no interference). The disadvantage ofZFP is that the UEs can experience a large amount of noise. This isbecause at time and frequency bins where the channel estimate H(f,t) isvery small the filter W_(ZF)(f,t) will be very large, thus causing thenormalization constant λ to be very small giving large noise energy.FIG. 7 demonstrates this phenomenon for a SISO channel.

Regularized Zero-Forcing Pre-Coder (rZFP)

To mitigates the effect of channel nulls (locations where the channelhas very small energy) the regularized zero forcing precoder (rZFP) isconstructed be taking a regularized inverse of its channel estimate:

W _(rZF)(f,t)=(Ĥ*(f,t)Ĥ(f,t)+αI)⁻¹ Ĥ*(f,t),  (13)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). Where α>0 is thenormalization constant. The advantage of rZFP is that the noise energyis smaller compared to ZPF. This is because rZFP deploys less energy inchannel nulls, thus the normalization constant λ is larger givingsmaller noise energy. The disadvantage of rZFP is larger interferencecompared to ZFP. This is because the channel is not perfectly inverted(due to the normalization constant), so the UEs will experience residualinterference. FIG. 8 demonstrates this phenomenon for a SISO channel.

As described above, there are three components to a precoding system: achannel feedback component, a channel prediction component, and apre-coding filter component. The relationship between the threecomponents is displayed in FIG. 9.

OTFS Precoding System

Various techniques for implementing OTFS precoding system are discussed.Some disclosed techniques can be used to provide unique ability to shapethe energy distribution of the transmission signal. For example, energydistribution may be such that the energy of the signal will be high inregions of time frequency and space where the channel information andthe channel strength are strong. Conversely, the energy of the signalwill be low in regions of time frequency and space where the channelinformation or the channel strength are weak.

Some embodiments may be described with reference to three main blocks,as depicted in FIG. 10.

Channel prediction: During channel prediction, second order statisticsare used to build a prediction filter along with the covariance of theprediction error.

Optimal precoding filter: using knowledge of the predicted channel andthe covariance of the prediction error: the hub computes the optimalprecoding filter. The filter shapes the spatial energy distribution ofthe transmission signal.

Vector perturbation: using knowledge of the predicted channel, precodingfilter, and prediction error, the hub perturbs the transmission signal.By doing this the hub shapes the time, frequency, and spatial energydistribution of the transmission signal.

Review of OTFS Modulation

A modulation is a method to transmit a collection of finite symbols(which encode data) over a fixed allocation of time and frequency. Apopular method used today is Orthogonal Frequency Division Multiplexing(OFDM) which transmits each finite symbol over a narrow region of timeand frequency (e.g., using subcarriers and timeslots). In contrast,Orthogonal Time Frequency Space (OTFS) transmits each finite symbol overthe entire allocation of time and frequency. Before going into details,we introduce terminology and notation.

We call the allocation of time and frequency a frame. We denote thenumber of subcarriers in the frame by N_(f). We denote the subcarrierspacing by df. We denote the number of OFDM symbols in the frame byN_(t). We denote the OFDM symbol duration by dt. We call a collection ofpossible finite symbols an alphabet, denoted by A.

A signal transmitted over the frame, denoted by φ, can be specified bythe values it takes for each time and frequency bin:

φ(f,t)∈

,  (14)

for f=1, . . . , N_(f) and t=1, . . . , N_(t).

FIG. 11 shows an example of a frame along time (horizontal) axis andfrequency (vertical) axis. FIG. 12 shows an example of the most commonlyused alphabet: Quadrature Amplitude Modulation (QAM).

OTFS Modulation

Suppose a transmitter has a collection of N_(f)N_(t) QAM symbols thatthe transmitter wants to transmit over a frame, denoted by:

x(f,t)∈A,  (15)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). OFDM works bytransmitting each QAM symbol over a single time frequency bin:

φ(f,t)=x(f,t),  (16)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). The advantage of OFDM isits inherent parallelism, this makes many computational aspects ofcommunication very easy to implement. The disadvantage of OFDM isfading, that is, the wireless channel can be very poor for certain timefrequency bins. Performing pre-coding for these bins is very difficult.

The OTFS modulation is defined using the delay Doppler domain, which isrelating to the standard time frequency domain by the two-dimensionalFourier transform.

The delay dimension is dual to the frequency dimension. There are N_(τ)delay bins with N_(τ)=N_(f). The Doppler dimension is dual to the timedimension. There are N_(ν) Doppler bins with N_(ν)=N_(t).

A signal in the delay Doppler domain, denoted by ϕ, is defined by thevalues it takes for each delay and Doppler bin:

ϕ(τ,ν)∈

,  (16)

for τ=1, . . . , N_(τ) and ν=1, . . . , N_(ν).

Given a signal ϕ in the delay Doppler domain, some transmitterembodiments may apply the two-dimensional Fourier transform to define asignal φ in the time frequency domain:

φ(f,t)=(Fϕ)(f,t),  (17)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). Where F denotes thetwo-dimensional Fourier transform.

Conversely, given a signal φ in the time frequency domain, transmitterembodiments could apply the inverse two-dimensional Fourier transform todefine a signal ϕ in the delay Doppler domain:

ϕ(τ,ν)=(F ⁻¹φ)(τ,ν),  (18)

for τ=1, . . . , N_(τ) and ν=1, . . . , N_(ν).

FIG. 13 depicts an example of the relationship between the delay Dopplerand time frequency domains.

The advantage of OTFS is that each QAM symbol is spread evenly over theentire time frequency domain (by the two-two-dimensional Fouriertransform), therefore each QAM symbol experience all the good and badregions of the channel thus eliminating fading. The disadvantage of OTFSis that the QAM spreading adds computational complexity.

MMSE Channel Prediction

Channel prediction is performed at the hub by applying an optimizationcriterion, e.g., the Minimal Mean Square Error (MMSE) prediction filterto the hub's channel estimates (acquired by either implicit or explicitfeedback). The MMSE filter is computed in two steps. First, the hubcomputes empirical estimates of the channel's second order statistics.Second, using standard estimation theory, the hub uses the second orderstatistics to compute the MMSE prediction filter. Before going intodetails, we introduce notation:

We denote the number of antennas at the hub by L_(h). We denote thenumber of UE antennas by L_(u). We index the UE antennas by u=1, . . . ,L_(u). We denote the number frequency bins by N_(f). We denote thenumber of feedback times by n_(past). We denote the number of predictiontimes by n_(future). FIG. 14 shows an example of an extrapolationprocess setup.

For each UE antenna, the channel estimates for all the frequencies, hubantennas, and feedback times can be combined to form a singleN_(f)L_(h)n_(past) dimensional vector. We denote this by:

Ĥ _(past)(u)∈

^(N) ^(f) ^(L) ^(h) ^(n) ^(past)   (19)

Likewise, the channel values for all the frequencies, hub antennas, andprediction times can be combined to form a single N_(f)L_(h)n_(future)dimensional vector. We denote this by:

H _(future)(u)∈

^(N) ^(f) ^(L) ^(h) ^(n) ^(future)   (20)

In typical implementations, these are extremely high dimensional vectorsand that in practice some form of compression should be used. Forexample, principal component compression may be one compressiontechnique used.

Empirical Second Order Statistics

Empirical second order statistics are computed separately for each UEantenna in the following way:

At fixed times, the hub receives through feedback N samples ofĤ_(past)(u) and estimates of H_(future)(u). We denote them by:Ĥ_(past)(u)_(i) and Ĥ_(future)(u)_(i) for i=1, . . . , N.

The hub computes an estimate of the covariance of Ĥ_(past)(u), which wedenote by {circumflex over (R)}_(past)(u):

$\begin{matrix}{{{\hat{R}}_{past}(u)} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}\; {{{\hat{H}}_{past}(u)}_{i}\; {{\hat{H}}_{past}(u)}_{i}^{*}}}}} & (21)\end{matrix}$

The hub computes an estimate of the covariance of H_(future)(u), whichwe denote by {circumflex over (R)}_(future)(u):

$\begin{matrix}{{{\hat{R}}_{future}(u)} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}\; {{{\hat{H}}_{future}(u)}_{i}\; {{\hat{H}}_{future}(u)}_{i}^{*}}}}} & (22)\end{matrix}$

The hub computes an estimate of the correlation between H_(future)(u)and Ĥ_(past)(u), which we denote by {circumflex over(R)}_(past,future)(u):

$\begin{matrix}{{{\hat{R}}_{{future},{past}}(u)} = {\frac{1}{N}{\sum_{i = 1}^{N}{{{\hat{H}}_{future}(u)}_{i}{{\hat{H}}_{past}(u)}_{i}^{*}}}}} & (23)\end{matrix}$

In typical wireless scenarios (pedestrian to highway speeds) the secondorder statistics of the channel change slowly (on the order of 1-10seconds). Therefore, they should be recomputed relatively infrequently.Also, in some instances it may be more efficient for the UEs to computeestimates of the second order statistics and feed these back to the hub.

MMSE Prediction Filter

Using standard estimation theory, the second order statistics can beused to compute the MMSE prediction filter for each UE antenna:

C(u)={circumflex over (R)} _(future,past)(u){circumflex over (R)}_(past) ⁻¹(u),  (24)

Where C(u) denotes the MMSE prediction filter. The hub can now predictthe channel by applying feedback channel estimates into the MMSE filter:

Ĥ _(future)(u)=C(u)Ĥ _(past)(u).  (25)

Prediction Error Variance

We denote the MMSE prediction error by ΔH_(future)(u), then:

H _(future)(u)=Ĥ _(future)(u)+ΔH _(future)(u).  (26)

We denote the covariance of the MMSE prediction error by R_(error)(u),with:

R _(error)(u)=

[ΔH _(future)(u)ΔH _(future)(u)*].  (27)

Using standard estimation theory, the empirical second order statisticscan be used to compute an estimate of R_(error)(u):

{circumflex over (R)} _(error)(u)=C(u){circumflex over (R)}_(past)(u)C(u)*−C(u){circumflex over (R)} _(future,past)(u)*−{circumflexover (R)} _(future,past)(u)C(u)*+{circumflex over (R)}_(future)(u)  (28)

Simulation Results

We now present simulation results illustrating the use of the MMSEfilter for channel prediction. Table 1 gives the simulation parametersand FIG. 15 shows the extrapolation setup for this example.

TABLE 1 Subcarrier spacing 15 kHz Number of subcarriers 512 Delay spread3 μs Doppler spread 600 Hz Number of channel feedback estimates 5Spacing of channel feedback estimates 10 ms Prediction range 0-20 msinto the future

Fifty samples of Ĥ_(past) and Ĥ_(future) were used to compute empiricalestimates of the second order statistics. The second order statisticswere used to compute the MMSE prediction filter. FIG. 16 shows theresults of applying the filter. The results have shown that theprediction is excellent at predicting the channel, even 20 ms into thefuture.

Block Diagrams

In some embodiments, the prediction is performed independently for eachUE antenna. The prediction can be separated into two steps:

1) Computation of the MMSE prediction filter and prediction errorcovariance: the computation can be performed infrequently (on the orderof seconds). The computation is summarized in FIG. 17. Starting fromleft in FIG. 17, first, feedback channel estimates are collected. Next,the past, future and future/past correlation matrices are computed. Nextthe filter estimate C(u) and the error estimate are computed.

2) Channel prediction: is performed every time pre-coding is performed.The procedure is summarized in FIG. 18.

Optimal Precoding Filter

Using MMSE prediction, the hub computes an estimate of the downlinkchannel matrix for the allocation of time and frequency the pre-codeddata will be transmitted. The estimates are then used to constructprecoding filters. Precoding is performed by applying the filters on thedata the hub wants the UEs to receive. Embodiments may derive the“optimal” precoding filters as follows. Before going over details weintroduce notation.

Frame (as defined previously): precoding is performed on a fixedallocation of time and frequency, with N_(f) frequency bins and N_(t)time bins. We index the frequency bins by: f=1, . . . , N_(f). We indexthe time bins by t=1, . . . , N_(t).

Channel estimate: for each time and frequency bin the hub has anestimate of the downlink channel which we denote by Ĥ(f,t)∈

^(L) ^(u) ^(×L) ^(h)

Error correlation: we denote the error of the channel estimates byΔH(f,t), then:

H(f,t)=Ĥ(f,t)+ΔH(f,t),  (29)

We denote the expected matrix correlation of the estimation error byR_(ΔH)(f,t)∈

^(L) ^(h) ^(×L) ^(h) , with:

R _(ΔH)(f,t)=

[ΔH(f,t)*ΔH(f,t)].  (30)

The hub can be easily compute these using the prediction errorcovariance matrices computed previously: {circumflex over(R)}_(error)(u) for u=1, . . . , L_(u).

Signal: for each time and frequency bin the UE wants to transmit asignal to the UEs which we denote by s(f,t)∈

^(L) ^(u) .

Precoding filter: for each time and frequency bin the hub uses thechannel estimate to construct a precoding filter which we denote byW(f,t)∈

^(L) ^(h) ^(×L) ^(u) .

White noise: for each time and frequency bin the UEs experience whitenoise which we denote by n(f,t)∈

^(L) ^(u) . We assume the white noise is iid Gaussian with mean zero andvariance N₀.

Hub Energy Constraint

When the precoder filter is applied to data, the hub power constraintmay be considered. We assume that the total hub transmit energy cannotexceed N_(f)N_(t)L_(h). Consider the pre-coded data:

W(f,t)s(f,t),  (31)

To ensure that the pre-coded data meets the hub energy constraints thehub applies normalization, transmitting:

λW(f,t)s(f,t),  (32)

Where the normalization constant λ is given by:

$\begin{matrix}{\lambda = \sqrt{\frac{N_{f}N_{t}L_{h}}{\sum_{f,t}{{{W\left( {f,t} \right)}{s\left( {f,t} \right)}}}^{2}}}} & (33)\end{matrix}$

Receiver SINR

The pre-coded data then passes through the downlink channel, the UEsreceive the following signal:

λH(f,t)W(f,t)s(f,t)+n(f,t),  (34)

The UEs then removes the normalization constant, giving a soft estimateof the signal:

$\begin{matrix}{{s_{soft}\left( {f,t} \right)} = {{{H\left( {f,t} \right)}{W\left( {f,t} \right)}{s\left( {f,t} \right)}} + {\frac{1}{\lambda}{{n\left( {f,t} \right)}.}}}} & (35)\end{matrix}$

The error of the estimate is given by:

$\begin{matrix}\begin{matrix}{{{s_{soft}\left( {f,t} \right)} - {s\left( {f,t} \right)}} = {{{H\left( {f,t} \right)}{W\left( {f,t} \right)}{s\left( {f,t} \right)}} - {s\left( {f,t} \right)} + {\frac{1}{\lambda}{{n\left( {f,t} \right)}.}}}} & \;\end{matrix} & (36)\end{matrix}$

The error can be decomposed into two independent terms: interference andnoise. Embodiments can compute the total expected error energy:

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {{\sum\limits_{f = 1}^{N_{f}}{\sum\limits_{t = 1}^{N_{t}}{{{{s_{soft}\left( {f,t} \right)} - {s\left( {f,t} \right)}}}^{2}}}} = {{{\sum\limits_{f = 1}^{N_{f}}{\sum\limits_{t = 1}^{N_{t}}{{{{{H\left( {f,t} \right)}{W\left( {f,t} \right)}{s\left( {f,t} \right)}} - {s\left( {f,t} \right)}}}^{2}}}} + {\frac{1}{\lambda^{2}}{{n\left( {f,t} \right)}}^{2}}} = {{\sum_{f = 1}^{N_{f}}{\sum_{t = 1}^{N_{t}}{\left( {{{\hat{H}\left( {f,t} \right)}{W\left( {f,t} \right)}{s\left( {f,t} \right)}} - {s\left( {f,t} \right)}} \right)^{*}\left( {{{\hat{H}\left( {f,t} \right)}{W\left( {f,t} \right)}{s\left( {f,t} \right)}} - {s\left( {f,t} \right)}} \right)}}} + {\left( {{W\left( {f,t} \right)}{s\left( {f,t} \right)}} \right)^{*}\left( {{R_{\Delta \; H}\left( {f,t} \right)} + {\frac{N_{0}L_{u}}{L_{h}}I}} \right)\left( {{W\left( {f,t} \right)}{s\left( {f,t} \right)}} \right)}}}}} & (37)\end{matrix}$

Optimal Precoding Filter

We note that the expected error energy is convex and quadratic withrespect to the coefficients of the precoding filter. Therefore, calculuscan be used to derive the optimal precoding filter:

$\begin{matrix}{{W_{opt}\left( {f,t} \right)} = {\left( {{{\hat{H}\left( {f,t} \right)}*{\hat{H}\left( {f,t} \right)}} + {R_{\Delta \; H}\left( {f,t} \right)} + {\frac{N_{0}L_{u}}{L_{h}}I}} \right)^{- 1}{\hat{H}\left( {f,t} \right)}^{*}}} & (38)\end{matrix}$

Accordingly, some embodiments of an OTFS precoding system use thisfilter (or an estimate thereof) for precoding.

Simulation Results

We now present a simulation result illustrating the use of the optimalprecoding filter. The simulation scenario was a hub transmitting data toa single UE. The channel was non line of sight, with two reflectorclusters: one cluster consisted of static reflectors, the other clusterconsisted of moving reflectors. FIG. 19 illustrates the channelgeometry, with horizontal and vertical axis in units of distance. It isassumed that the hub has good Channel Side Information (CSI) regardingthe static cluster and poor CSI regarding the dynamic cluster. Theoptimal precoding filter was compared to the MMSE precoding filter. FIG.20 displays the antenna pattern given by the MMSE precoding filter. Itcan be seen that the energy is concentrated at ±45°, that is, towardsthe two clusters. The UE SINR is 15.9 dB, the SINR is relatively low dueto the hub's poor CSI for the dynamic cluster.

FIG. 21 displays the antenna pattern given by the optimal precodingfilter as described above, e.g., using equation (38). In this example,the energy is concentrated at −45°, that is, toward the static cluster.The UE SINR is 45.3 dB, the SINR is high (compared to the MMSE case) dueto the hub having good CSI for the static reflector.

The simulation results depicted in FIG. 20 and FIG. 21 illustrate theadvantage of the optimal pre-coding filter. The filter it is able toavoid sending energy towards spatial regions of poor channel CSI, e.g.,moving regions.

Example Block Diagrams

Precoding is performed independently for each time frequency bin. Theprecoding can be separated into three steps:

[1] Computation of error correlation: the computation be performedinfrequently (on the order of seconds). The computation is summarized inFIG. 22.

[2] Computation of optimal precoding filter: may be performed every timepre-coding is performed. The computation is summarized in FIG. 23.

[3] Application of the optimal precoding filter: may be performed everytime pre-coding is performed. The procedure is summarized in FIG. 24.

OTFS Vector Perturbation

Before introducing the concept of vector perturbation, we outline theapplication of the optimal pre-coding filter to OTFS.

OTFS Optimal Precoding

In OTFS, the data to be transmitted to the UEs are encoded using QAMs inthe delay-Doppler domain. We denote this QAM signal by x, then:

x(τ,ν)∈A ^(L) ^(u) ,  (39)

for τ=1, . . . , N_(τ) and ν=1, . . . , N_(ν). A denotes the QAMconstellation. Using the two-dimensional Fourier transform the signalcan be represented in the time frequency domain. We denote thisrepresentation by X:

X(f,t)=(Fx)(f,t),  (40)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). F denotes thetwo-dimensional Fourier transform. The hub applies the optimalpre-coding filter to X and transmit the filter output over the air:

λW _(opt)(f,t)X(f,t),  (41)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). X denotes thenormalization constant. The UEs remove the normalization constant givinga soft estimate of X:

$\begin{matrix}{{{X_{soft}\left( {f,t} \right)} = {{{H\left( {f,t} \right)}{W_{opt}\left( {f,t} \right)}{X\left( {f,t} \right)}} + {\frac{1}{\lambda}{w\left( {f,t} \right)}}}},} & (42)\end{matrix}$

for f=1, . . . , N_(f) and t=1, . . . , N_(t). The term w(f,t) denoteswhite noise. We denote the error of the soft estimate by E:

E(f,t)=X _(soft)(f,t)−X(f,t),  (43)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). The expected error energywas derived earlier in this document:

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {{\sum\limits_{f = 1}^{N_{f}}{\sum\limits_{t = 1}^{N_{t}}{{{{X_{soft}\left( {f,t} \right)} - {X\left( {f,t} \right)}}}^{2}}}} = {\sum_{f = 1}^{N_{f}}{\sum_{t = 1}^{N_{t}}{{X\left( {f,t} \right)}^{*}{M_{error}\left( {f,t} \right)}{X\left( {f,t} \right)}}}}}} & (44)\end{matrix}$

Where:

$\begin{matrix}{{M_{error}\left( {f,t} \right)} = {\left( {{{\hat{H}\left( {f,t} \right)}{W_{opt}\left( {f,t} \right)}} - I} \right)^{*}\left( {{{\hat{H}\left( {f,t} \right)}{W_{opt}\left( {f,t} \right)}} - I + {{{\ldots W}_{opt}\left( {f,t} \right)}^{*}\left( {{R_{\Delta \; H}\left( {f,t} \right)} + {\frac{N_{0}L_{u}}{L_{h}}{W_{opt}\left( {f,t} \right)}}} \right.}} \right.}} & (45)\end{matrix}$

We call the positive definite matrix M_(error)(f,t) the error metric.

Vector Perturbation

In vector perturbation, the hub transmits a perturbed version of the QAMsignal:

x(τ,ν)+p(τ,ν),  (46)

for τ=1, . . . , N_(τ) and ν=1, . . . , N_(ν). Here, p(τ,ν) denotes theperturbation signal. The perturbed QAMs can be represented in the timefrequency domain:

X(f,t)+P(f,t)=(Fx)(f,t)+(Fp)(f,t),  (47)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). The hub applies theoptimal pre-coding filter to the perturbed signal and transmits theresult over the air. The UEs remove the normalization constant giving asoft estimate of the perturbed signal:

X(f,t)+P(f,t)+E(f,t),  (48)

for f=1, . . . , N_(f) and t=1, . . . , N_(t). Where E denotes the errorof the soft estimate. The expected energy of the error is given by:

expected error energy=Σ_(f=1) ^(N) ^(f) Σ_(t=1) ^(N) ^(t)(X(f,t)+P(f,t))*M _(error)(f,t)(X(f,t)+P(f,t))  (49)

The UEs then apply an inverse two dimensional Fourier transform toconvert the soft estimate to the delay Doppler domain:

x(τ,ν)+p(τ,ν)+e(τ,ν),  (50)

for τ=1, . . . , N_(τ) and ν=1, . . . , N_(ν). The UEs then remove theperturbation p(τ,ν) for each delay Doppler bin to recover the QAM signalx.

Collection of Vector Perturbation Signals

One question is: what collection of perturbation signals should beallowed? When making this decision, there are two conflicting criteria:

1) The collection of perturbation signals should be large so that theexpected error energy can be greatly reduced.

2) The collection of perturbation signals should be small so the UE caneasily remove them (reduced computational complexity):

x(τ,ν)+p(τ,ν)→x(τ,ν)  (51)

Coarse Lattice Perturbation

An effective family of perturbation signals in the delay-Doppler domain,which take values in a coarse lattice:

p(τ,ν)∈B ^(L) ^(u) ,  (52)

for τ=1, . . . , N_(τ) and ν=1, . . . , N_(ν). Here, B denotes thecoarse lattice. Specifically, if the QAM symbols lie in the box:[−r,r]×j[−r,r] we take as our perturbation lattice B=2r

+2rj

. We now illustrate coarse lattice perturbation with an example.

EXAMPLES

Consider QPSK (or 4-QAM) symbols in the box [−2,2]×j[−2,2]. Theperturbation lattice is then B=4

+4j

. FIG. 25 illustrates the symbols and the lattice. Suppose the hub wantsto transmit the QPSK symbol 1+1j to a UE. Then there is an infinitenumber of coarse perturbations of 1+1j that the hub can transmit. FIG.26 illustrates an example. The hub selects one of the possibleperturbations and transmits it over the air. FIG. 27 illustrates thechosen perturbed symbol, depicted with a single solid circle.

The UE receives the perturbed QPSK symbol. The UE then removes theperturbation to recover the QPSK symbol. To do this, the UE firstsearches for the coarse lattice point closest to the received signal.FIG. 28 illustrates this.

The UE subtracts the closest lattice point from the received signal,thus recovering the QPSK symbol 1+1j. FIG. 29 illustrates this process.

Finding Optimal Coarse Lattice Perturbation Signal

The optimal coarse lattice perturbation signal, p_(opt), is the onewhich minimizes the expected error energy:

p _(opt)=argmin_(p)Σ_(f=1) ^(N) ^(f) Σ_(t=1) ^(N) ^(t) (X(f,t)+P(f,t))*M_(error)(f,t)(X(f,t)+P(f,t))  (53)

The optimal coarse lattice perturbation signal can be computed usingdifferent methods. A computationally efficient method is a form ofThomlinson-Harashima precoding which involves applying a DFE filter atthe hub.

Coarse Lattice Perturbation Example

We now present a simulation result illustrating the use of coarselattice perturbation. The simulation scenario was a hub antennatransmitting to a single UE antenna. Table 2 displays the modulationparameters. Table 3 display the channel parameters for this example.

TABLE 2 Subcarrier spacing 30 kHz Number of subcarriers 256 OFDM symbolsper frame 32 QAM order Infinity (uniform in the unit box)

TABLE 3 Number of reflectors 20 Delay spread 2 μs Doppler spread 1 KHzNoise variance −35 dB

FIG. 30 displays the channel energy in the time (horizontal axis) andfrequency (vertical axis) domain.

Because this is a SISO (single input single output) channel, the errormetric M_(error)(f,t) is a positive scaler for each time frequency bin.The expected error energy is given by integrating the product of theerror metric with the perturbed signal energy:

expected error energy=Σ_(f=1) ^(N) ^(f) Σ_(t=1) ^(N) ^(t) M_(error)(f,t)|X(f,t)+P(f,t)|²  (54)

FIG. 31 displays an example of the error metric. One hundred thousandrandom QAM signals were generated. For each QAM signal, thecorresponding optimal perturbation signal was computed usingThomlinson-Harashima precoding. FIG. 32 compares the average energy ofthe QAM signals with the average energy of the perturbed QAM signals.The energy of QAM signals is white (evenly distributed) while the energyof the perturbed QAM signals is colored (strong in some time frequencyregions and weak in others). The average error energy of the unperturbedQAM signal was −24.8 dB. The average error energy of the perturbed QAMsignal was −30.3 dB. The improvement in error energy can be explained bycomparing the energy distribution of the perturbed QAM signal with theerror metric.

FIG. 33 shows a comparison of an example error metric with an averageperturbed QAM energy. The perturbed QAM signal has high energy where theerror metric is low, conversely it has low energy where the error metricis high.

The simulation illustrates the gain from using vector perturbation:shaping the energy of the signal to avoid time frequency regions wherethe error metric is high.

Block Diagrams

Vector perturbations may be performed in three steps. First, the hubperturbs the QAM signal. Next, the perturbed signal is transmitted overthe air using the pre-coding filters. Finally, the UEs remove theperturbation to recover the data.

Computation of error metric: the computation can be performedindependently for each time frequency bin. The computation is summarizedin FIG. 34. See also Eq. (45). As shown, the error metric is calculatedusing channel prediction estimate, the optimal coding filter and errorcorrelation estimate.

Computation of perturbation: the perturbation is performed on the entiredelay Doppler signal. The computation is summarized in FIG. 35. Asshown, the QAM signal and the error metric are used to compute theperturbation signal. The calculated perturbation signal is additivelyapplied to the QAM input signal.

Application of the optimal precoding filter: the computation can beperformed independently for each time frequency bin. The computation issummarized in FIG. 36. The perturbed QAM signal is processed through atwo dimensional Fourier transform to generate a 2D transformed perturbedsignal. The optimal precoding filter is applied to the 2D transformedperturbed signal.

UEs removes perturbation: the computation can be FIG. 37. At UE, theinput signal received is transformed through an inverse 2D Fouriertransform. The closest lattice point for the resulting transformedsignal is determined and then removed from the 2D transformed perturbedsignal.

Spatial Tomlinson Harashima Precoding

This section provides additional details of achieving spatial precodingand the beneficial aspects of using Tomlinson Harashima precodingalgorithm in implementing spatial precoding in the delay Doppler domain.The embodiments consider a flat channel (with no frequency or timeselectivity).

Review of Linear Precoding

In precoding, the hub wants to transmit a vector of QAMs to the UEs. Wedenote this vector by x∈

^(L) ^(u) . The hub has access to the following information:

-   -   An estimate of the downlink channel, denoted by: Ĥ∈        ^(L) ^(u) ^(×L) ^(h) .    -   The matrix covariance of the channel estimation error, denoted        by: R_(ΔH)∈        ^(L) ^(h) ^(×L) ^(h) .        From this information, the hub computes the “optimal” precoding        filter, which minimizes the expected error energy experienced by        the UEs:

$W_{opt} = {\left( {{{\hat{H}}^{*}\hat{H}} + R_{\Delta \; H} + {\frac{N_{0}L_{u}}{L_{h}}I}} \right)^{- 1}{\hat{H}}^{*}}$

By applying the precoding filter to the QAM vector the hub constructs asignal to transmit over the air: λW_(opt)x∈

^(L) ^(h) , where λ is a constant used to enforce the transmit energyconstraints. The signal passes through the downlink channel and isreceived by the UEs:

λHW _(opt) x+w,

Where w∈

^(L) ^(u) denotes AWGN noise. The UEs remove the normalization constantgiving a soft estimate of the QAM signal:

x+e,

where e∈

^(L) ^(u) denotes the estimate error. The expected error energy can becomputed using the error metric:

expected error energy=x*M _(error) x

where M_(error) is a positive definite matrix computed by:

$M_{error} = {{\left( {{\hat{H}W_{opt}} - I} \right)^{*}\left( {{\hat{H}W_{opt}} - I} \right)} + {{W_{opt}^{*}\left( {R_{\Delta \; H} + \frac{N_{0}L_{u}}{L_{h}}} \right)}W_{opt}}}$

Review of Vector Perturbation

The expected error energy can be greatly reduced by perturbing the QAMsignal by a vector v∈

^(L) ^(u) . The hub now transmits λW_(opt)(x+v)∈

^(L) _(h). After removing the normalization constant, the UEs have asoft estimate of the perturbed QAM signal:

x+v+e

Again, the expected error energy can be computed using the error metric:

expected error energy=(x+V)*M _(error)(x+v)

The optimal perturbation vector minimizes the expected error energy:

v _(opt)=argmin_(v)(x+v)*M _(error)(x+v).

Computing the optimal perturbation vector is in general NP-hard,therefore, in practice an approximation of the optimal perturbation iscomputed instead. For the remainder of the document we assume thefollowing signal and perturbation structure:

The QAMs lie in the box [−1,1]×j[−1,1].

The perturbation vectors lie on the coarse lattice: (2

+2j

)^(L) ^(u) .

Spatial Tomlinson Harashima Precoding

In spatial THP a filter is used to compute a “good” perturbation vector.To this end, we make use of the Cholesky decomposition of the positivedefinite matrix M_(error):

M _(error) =U*DU,

where D is a diagonal matrix with positive entries and U is unit uppertriangular. Using this decomposition, the expected error energy can beexpressed as:

expected error energy=(U(x+v))*D(U(x+v))=z*Dz=Σ _(n=1) ^(L) ^(u)D(n,n)|z(n)|²,

where z=U(x+v). We note that minimizing the expected error energy isequivalent to minimizing the energy of the z entries, where:

${{z\left( L_{u} \right)} = {{x\left( L_{u} \right)} + {v\left( L_{u} \right)}}},{{z(n)} = {{x(n)} + {v(n)} + {\sum\limits_{m = {n + 1}}^{L_{u}}{{U\left( {n,m} \right)}\left( {{x(m)} + {v(m)}} \right)}}}},$

for n=1, 2, . . . , L_(u)−1. Spatial THP iteratively choses aperturbation vector in the following way.

v(L _(u))=0

Suppose v(n+1), v(n+2), . . . , v(L_(u)) have been chosen, then:

${v(n)} = {- {_{({{2\; {\mathbb{Z}}} + {2j\; {\mathbb{Z}}}})}\left( {{x(n)} + {\sum\limits_{m = {n + 1}}^{L_{u}}{{U\left( {n,m} \right)}\left( {{x(m)} + {v(m)}} \right)}}} \right)}}$

where

denotes projection onto the coarse lattice. We note that by constructionthe coarse perturbation vector bounds the energy of the entries of z bytwo. FIG. 38 displays a block diagram of spatial THP.

Simulation Results

We now present the results of a simple simulation to illustrate the useof spatial THP. Table 4 summarizes the simulation setup.

TABLE 4 Simulation setup Number of hub antennas 2 Number of UEs 2 (oneantenna each) Channel condition number 10 dB Modulation PAM infinity(data uniformly disturbed on the interval [−1, 1]) Data noise variance−35 dB Channel noise variance −35 dBFIG. 39 displays the expected error energy for different PAM vectors. Wenote two aspects of the figure.

-   -   The error energy is low when the signal transmitted to UE1 and        UE2 are similar. Conversely, the error energy is high when the        signals transmitted to the UEs are dissimilar. We can expect        this pattern to appear when two UEs are spatially close        together; in these situations, it is advantageous to transmit        the same message to both UEs.    -   The error energy has the shape of an ellipses. The axes of the        ellipse are defined by the eigenvectors of M_(error).

A large number data of PAM vectors was generated and spatial THP wasapplied. FIG. 40 shows the result. Note that the perturbed PAM vectorsare clustered along the axis with low expected error energy.

THP Enhancements

The problem of finding the optimal perturbation vector at thetransmitter is analogous to the MIMO QAM detection problem at thereceiver. Furthermore, transmitter THP is analogous to receiversuccessive interference cancellation (SIC). The same improvements usedfor SIC can be used for THP, for example:

-   -   V-Blast, can be used to first choose a better ordering of        streams before applying THP.    -   K-best and sphere detection can be used to search more        perturbation vectors.    -   Lattice reduction can be used as a pre-processing step to THP,        improving the condition number of the Cholesky factors.

All these techniques are well known to wireless engineers. We will onlygo into more depth with lattice reduction as it gives the bestperformance for polynomial complexity.

Lattice Reduction Enhancement

The performance of THP depends strongly on the size of the diagonalCholesky factor of M_(error):

${{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {{\sum\limits_{n = 1}^{L_{u}}{{D\left( {n,n} \right)}{{z(n)}}^{2}}} \leq {2{\sum\limits_{n = 1}^{L_{u}}{D\left( {n,n} \right)}}}}$

Lattice reduction is a pre-processing step to THP which improvesperformance by relating the old Cholesky factorization U*DU to a newCholesky factorization U*_(LR)D_(LR)U_(LR), with:

${\sum\limits_{n = 1}^{L_{u}}{D_{LR}\left( {n,n} \right)}} \leq {\sum\limits_{n = 1}^{L_{u}}{D\left( {n,n} \right)}}$${D^{\frac{1}{2}}U} = {{AD}_{LR}^{\frac{1}{2}}U_{LR}T}$

where A∈

^(L) ^(u) ^(×L) ^(u) is a unitary matrix (i.e AA*=A*A=I), and T∈(

+j

)^(L) ^(u) ^(×L) ^(u) is unimodular (i.e. complex integer entries withdeterminant 1 or −1). We note that if M_(error) is ill-conditioned, thenthe diagonal of the lattice reduced Cholesky factor is typically muchsmaller then the original. To use the improved Cholesky factorizationfor THP we need to make use of two important properties of unimodularmatrices:

-   -   If T is unimodular, then T⁻¹ is also unimodular.    -   If v∈(        +j        )^(L) ^(u) , then Tv∈(        +j        )^(L) ^(u) .        We now return to the perturbation problem, where we are trying        to find a coarse perturbation vector v∈(2        +2j        )^(L) ^(u) which minimizes the expected error energy:

$\begin{matrix}{{\min\limits_{v}{\left( {x + v} \right)^{*}U^{*}D{U\left( {x + v} \right)}}} = {\min\limits_{v}{\left( {x + v} \right)^{*}\left( {D^{\frac{1}{2}}U} \right)^{*}\left( {D^{\frac{1}{2}}U} \right)\left( {x + v} \right)}}} \\{= {\min\limits_{v}{\left( {x + v} \right)^{*}\left( {AD_{LR}^{\frac{1}{2}}U_{LR}T} \right)^{*}AD_{LR}^{\frac{1}{2}}U_{LR}{T\left( {x + v} \right)}}}} \\{= {\min\limits_{v}{\left( {{Tx} + {Tv}} \right)^{*}U_{LR}^{*}D_{LR}{U_{LR}\left( {{Tx} + {Tv}} \right)}}}} \\{= {\min\limits_{\overset{˜}{v}}{\left( {{Tx} + \overset{˜}{v}} \right)^{*}U_{LR}^{*}D_{LR}{U_{LR}\left( {{Tx} + \overset{˜}{v}} \right)}}}}\end{matrix}$

where the last equality follows from the fact that applying unimodularmatrices to coarse perturbation vectors returns coarse perturbationvectors. THP can now be used to find a coarse perturbation vector {tildeover (v)} which makes (Tx+{tilde over (v)})*U*_(LR)D_(LR) U_(LR)(Tx+{tilde over (v)}) small. Applying T⁻¹ to {tilde over (v)} returns acoarse perturbation vector v which makes (x+v)*U*DU(x+v) small. We nowsummarize the steps:1. Compute a lattice reduced Cholesky factorization U*_(R)D_(LR)U_(LR).(The most popular algorithm for this is Lenstra-Lenstra-Lovász basisreduction) The algorithm will return the reduced Cholesky factorizationand the unimodular matrix T.2. Use IP to find a coarse perturbation vector {tilde over (v)} whichmakes the equation (1.) small:

(Tx+{tilde over (v)})*U* _(LR) D _(LR) U _(LR)(Tx+{tilde over(v)})  (1.)

3. Return T⁻¹{tilde over (v)}.

OTFS Tomlinson Harashima Precoding Filters

This section details of techniques of efficiently computing coarse OTFSperturbation using a THP filter in the OTFS domain.

Review of OTFS Perturbation

The goal of OTFS perturbation is to find a coarse perturbation signalwhich makes the expected error energy small, where:

${{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\sum\limits_{f = 0}^{N_{f} - 1}{\sum\limits_{t = 0}^{N_{t} - 1}{\left( {{X\left( {f,t} \right)} + {P\left( {f,t} \right)}} \right)^{*}{M_{error}\left( {f,t} \right)}\left( {{X\left( {f,t} \right)} + {P\left( {f,t} \right)}} \right)}}}$

Recall that X=

_(TF)x and P=

_(TF)p, where

_(TF) denotes the two-dimensional Fourier transform, x is the QAMsignal, and p is the perturbation signal. The presence of the Fouriertransform means that perturbing a single QAM in the delay-Doppler domainaffects the signal over the entire time-frequency domain (illustrated inFIG. 41).

The time-frequency (TF) non-locality of OTFS perturbations carriesadvantages and disadvantages.

-   -   Advantage: OTFS perturbations can shape the TF spectrum of the        signal to avoid TF channel fades.    -   Disadvantage: the OTFS perturbations are typically computed        jointly, this contrasts with OFDM which can compute independent        perturbations for each TF bin.

When OTFS perturbations are computed jointly, this means that bruteforce methods may not work efficiently. For example, consider the systemparameters summarized in Table 5.

TABLE 5 Typical system parameters N_(f) 600 N_(t) 14 L_(u) 4

For such a system the space of coarse perturbation signals, (2

+2j

)^(L) ^(u) ^(N) ^(f) ^(N) ^(t) , is 3.36e4 dimensional.

OTFS THP Filters

To manage the complexity of OTFS perturbations it may be recalled thatthe channel is localized in the delay-Doppler domain. Utilizing thisfact, a near optimal coarse perturbation can be computed using atwo-dimensional filter whose length is roughly equal to the delay andDoppler span of the channel. We call this class of filters OTFS THPfilters. These filters can get quite sophisticated, so the document willdevelop them in stages: starting with simple cases and ending in fullgenerality.

-   -   1) SISO single carrier (this is equivalent to OTFS with N_(t)=1)    -   2) SISO OTFS    -   3) MIMO single carrier    -   4) MIMO OTFS

SISO Single Carrier

In this section, we disclose a SISO single carrier THP filter. Towardsthis end we express the expected error energy in the delay domain (thedomain where QAMs and perturbations are defined):

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\sum\limits_{f = 0}^{N_{f} - 1}{\left( {{X(f)} + {P(f)}} \right)^{*}{M_{error}(f)}\left( {{X(f)} + {P(f)}} \right)}}} \\{= {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\left( {{x(\tau)} + {p(\tau)}} \right)^{*}{\sum\limits_{\tau^{\prime} = 0}^{N_{\tau} - 1}{{m_{error}\left( {\tau - \tau^{\prime}} \right)}\left( {{x\left( \tau^{\prime} \right)} + {p\left( \tau^{\prime} \right)}} \right)}}}}}\end{matrix}$

The QAM signal x and the perturbation signal p can be represented asvectors in

^(N) ^(τ) which we denote by x, p respectively. Likewise, convolution bym_(error) can be represented as multiplication by a positive definitecirculant matrix in

^(N) ^(τ) ^(×N) ^(τ) which we denote by m_(error). Using theserepresentations, we can write the expected error energy as:

expected error energy=(x+p)*m _(error)(x+p)

Similar to the spatial case, a good coarse perturbation vector can becomputed (FIG. 42) by utilizing the Cholesky factors of m_(error):

m _(error) =UDU*

Although the method computes good perturbations, there are two mainchallenges: it requires a very large Cholesky factorization and theapplication of U−I can be very expensive. To resolve these issues, wewill utilize U⁻¹ which has much better structure:

-   -   U⁻¹ is bandlimited, with bandwidth approximately equal to the        channel delay span.    -   Apart from its edges, U⁻¹ is nearly Toeplitz.

These facts enable the computation of good perturbations using a shortfilter which we call the SISO single carrier THP filter and denote byW_(THP). Before showing how to compute coarse perturbations with U⁻¹ andW_(THP), we illustrate the structure of U⁻¹ with a small simulation(parameters in Table 6).

TABLE 6 Sample rate 10 MHz Number of samples 512 Delay span 3 us Shapingfilter Root raised cosine, roll-off 12% Data noise variance −35 dBChannel noise variance −35 dB

FIG. 43 displays an estimate of the channel impulse response. Using thisestimate, the error metric in the delay domain, m_(error), was computed.FIG. 44 compares the structure of the resulting Cholesky factor and itsinverse.

To visualize the near Toeplitz structure of U⁻¹ we overlay plots ofcolumns slices (FIG. 45):

s _(n)(m)=U ⁻¹(n−m,n)

for m=0, 1, . . . , 40 and n=40, . . . , (N_(f)−40). We note that if amatrix is Toeplitz then the slices will be identical.

FIG. 45 shows the bandwidth of U⁻¹ is approximately equal to the channelspan, and that outside of edges the matrix is very near Toeplitz.

Computing Good Perturbations with U⁻¹

In this subsection, we disclose how to compute good perturbations usingU⁻¹. Towards this end we express the expected error energy in terms ofthe Cholesky factors:

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\left( {x + p} \right)^{*}{m_{error}\left( {x + p} \right)}}} \\{= {\left( {U\left( {x + p} \right)} \right)^{*}{D\left( {U\left( {x + p} \right)} \right)}}} \\{= {z^{*}{Dz}}} \\{= \left. {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{D(\tau)}} \middle| {z(\tau)} \right|^{2}}\end{matrix}$

where z=U(x+p) and D(τ)=D(τ,τ). Therefore, minimizing the expected errorenergy is equivalent to minimizing the energy of the entries of z, whichcan be expressed recursively:

${z(\tau)} = {{x(\tau)} + {p(\tau)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{u^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}}}$

for τ=0, 1, . . . , N_(τ)−1. Using this expression, a good perturbationvector can be computed iteratively in the following way:

1. Initialization set p(N_(τ)−1)=0 and z(N_(τ)−1)=x(N_(τ)−1).

2. Update suppose we have selected p(τ′) and z(τ′) for τ′=(τ+1), . . . ,N_(τ)−1, then:

${r(\tau)} = {{x(\tau)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{u^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}}}$P(τ) = −_((2 + 2j ))(r(τ)) z(τ) = x(τ) + r(τ)

Herein,

denotes projection onto the coarse lattice. We note that the algorithmbounds the energy of the z entries by two. FIG. 46 displays a blockdiagram of the algorithm.

Computing Perturbations with W_(THP)

In this subsection, we disclose how to efficiently compute a goodperturbation using a SISO single carrier THP filter. Towards this end wenote that due to the banded near Toeplitz structure of U⁻¹, theapplication of I−U⁻¹ can be well approximated by the application of afilter (outside of edge effects):

${{\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{U^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}} \approx {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}(n)}{z\left( {\tau + n} \right)}}}},$

for τ=0, 1, . . . , N_(τ)−N_(chan)−1, where N_(chan) denotes the channelwidth. We call W_(THP) the SISO single carrier THP filter with:

W _(THP)(n)=U ⁻¹(N _(chan) −n,N _(chan)),

for n=1, . . . , N_(chan). To use the approximation, we need to avoidthe non-Toeplitz edge effects of U⁻¹, this is done by enforcing the QAMsignal x to take the value zero for an initialization region. Puttingeverything together gives an efficient method for computing goodperturbation signals:

Setup compute the filter coefficients: W_(THP)(n) for n=1, . . . ,N_(chan).

Initialization set function values on the top delay bins equal to zero:

p(τ)=0, x(τ)=0, and z(τ)=0

for τ=N_(τ)−N_(chan), . . . , N_(τ)−1

Update suppose we have selected p(τ′) and z(τ′) for τ′=(τ+1), . . . ,N_(τ)−1, then:

${r(\tau)} = {{x(\tau)} - {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}(n)}{z\left( {\tau + n} \right)}}}}$p(τ) = −_((2 + 2j ))(r(τ)) z(τ) = x(τ) + r(τ)

Finalize suppose we have selected p(τ) and z(τ) for τ′=0, 1, . . . ,N_(τ)−1. Then we take:

${x(\tau)} = {{z(\tau)} + {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}(n)}{z\left( {\tau + n} \right)}}}}$

for τ=N_(τ)−N_(chan), . . . , N_(τ)−1.

The finalize step is done to ensure that x+p is equal to the correlationof I+W_(THP) and z. Because there is no QAM information transmitted inthe initialization region, the finalize step does not overwrite userdata. We note that by using unique word single carrier, theinitialization region can also do the work of the cyclic prefix thuslimiting overhead. A block diagram for the update step is shown in FIG.47.

Simulation Results

Application of the SISO single carrier THP filter was simulated usingthe parameters given in Table 7.

TABLE 7 Sample rate 10 MHz Number of samples 512 Delay span 3 us Shapingfilter Root raised cosine, roll-off 12% Data noise variance −35 dBChannel noise variance −35 dB QAM order Infinity (uniform in unit box)

Ten thousand random QAM signals were generated and two differentprecoders schemes were applied to the QAM signal:

-   -   1) Regularized zero forcing (rZF)    -   2) THP perturbation of the QAM signal followed by rZF

FIG. 48 displays the channel frequency response. FIG. 49 compares theSINR experienced by the UE for the two precoding schemes. We note thatthe THP perturbed signal has both a high average SINR and an extremelystable SINR. In contract, just using the linear precoder results inlarge SINR fluctuations (20+ dBs).

SISO OTFS

In this section, we disclose SISO OTFS THP filters. The filters will beintimately related to the previously disclosed SISO single carrier THPfilters. To make the connection clear we represent the expected errorenergy in the hybrid delay-time domain.

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\sum\limits_{f = 0}^{N_{f} - 1}{\sum\limits_{t = 0}^{N_{t} - 1}{\left( {{X\left( {f,t} \right)} + {P\left( {f,t} \right)}} \right)^{*}{M_{error}\left( {f,t} \right)}\left( {{X\left( {f,t} \right)} + {P\left( {f,t} \right)}} \right)}}}} \\{{= {\sum\limits_{t = 0}^{N_{t} - 1}{\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\left( {{\overset{˜}{X}\left( {\tau,t} \right)} + {\overset{˜}{P}\left( {\tau,t} \right)}} \right)^{*}{\sum\limits_{\tau^{\prime} = 0}^{N_{\tau} - 1}{{{\overset{\sim}{M}}_{error}\left( {{\tau - \tau^{\prime}},t} \right)}\left( {{\overset{˜}{X}\left( {\tau^{\prime},t} \right)} + {\overset{˜}{P}\left( {\tau^{\prime},t} \right)}} \right)}}}}}},}\end{matrix}$

Where the function {tilde over (X)}(τ,t) is defined as:

${\overset{˜}{X}\left( {\tau,t} \right)} = {\left( {\mathcal{F}_{F}^{- 1}\overset{˜}{X}} \right)\left( {\tau,t} \right){\sum\limits_{f = 0}^{N_{f} - 1}{e^{\frac{2\pi jf\tau}{N_{f}}}{X\left( {f,t} \right)}}}}$

and

denotes the Fourier transform converting frequency-time to delay-time.The functions {tilde over (P)}(τ,t) and M_(error)(τ,t) are defined inthe same way. Next, we vectorize the functions {tilde over (P)}(⋅,t) and{tilde over (X)}(⋅,t) to express the expected error energy using linearalgebra:

${expected}\mspace{14mu} {error}\mspace{14mu} {energy}{= {\sum\limits_{t = 0}^{N_{t} - 1}{\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)^{*}{{\overset{\sim}{M}}_{{error},t}\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)}}}}$

where {tilde over (X)}_(t), {tilde over (P)}_(t)∈

^(N) ^(τ) and the matrices {tilde over (M)}_(error,t)∈

^(N) ^(τ) ^(×N) ^(τ) are circulant and positive definite.

Computing Perturbations with U⁻¹

In this subsection, we disclose how to compute good perturbations usingthe Cholesky decompositions:

{tilde over (M)} _(error,t) =Ũ* _(t) {tilde over (D)} _(t) Ũ _(t),

for t=0, 1, . . . , N_(t)−1. Where the Ũ_(t) are unit upper triangularand the {tilde over (D)}_(t) are positive diagonal. Expressing theexpected error energy in terms of these decompositions gives:

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\sum\limits_{t = 0}^{N_{t} - 1}{\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)^{*}{\overset{\sim}{U}}_{t}^{*}{\overset{\sim}{D}}_{t}{{\overset{\sim}{U}}_{t}\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)}}}} \\{= {\sum\limits_{t = 0}^{N_{t} - 1}{{\overset{\sim}{Z}}_{t}^{*}{\overset{\sim}{D}}_{t}{\overset{\sim}{Z}}_{t}}}} \\{= {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\sum\limits_{t = 0}^{N_{t} - 1}{{\overset{˜}{Z}\left( {\tau,t} \right)}^{*}{\overset{\sim}{D}\left( {\tau,\ t} \right)}{\overset{˜}{Z}\left( {\tau,t} \right)}}}}}\end{matrix}$

where {tilde over (Z)}_(t)=Ũ_(t)({tilde over (X)}_(t)+{tilde over(P)}_(t)), {tilde over (Z)}(τ,t)={tilde over (Z)}_(t)(τ), and {tildeover (D)}(τ,t)={tilde over (D)}_(t)(τ,τ). Next, we express the expectederror energy in the delay-Doppler domain (the domain where the QAMs andperturbations are defined):

${expected}\mspace{14mu} {error}\mspace{14mu} {energy}{= {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\sum\limits_{v = 0}^{N_{v} - 1}{{z\left( {\tau,v} \right)}^{*}{\sum\limits_{v^{\prime} = 0}^{N_{v} - 1}{{d\left( {\tau,{v - v^{\prime}}} \right)}{z\left( {\tau,v^{\prime}} \right)}}}}}}}$

where the function z(τ,ν) is defined as:

${z\left( {\tau,v} \right)} = {{\left( {\mathcal{F}_{T}^{- 1}\overset{\sim}{Z}} \right)\left( {\tau,v} \right)} = {\sum\limits_{t = 0}^{N_{t} - 1}{e^{\frac{2\pi jtv}{N_{t}}}{\overset{\sim}{Z}\left( {\tau,t} \right)}}}}$

and

denotes the Fourier transform converting delay-time to delay-Doppler.The function d(τ,ν) is defined the same way. For Doppler shiftsencountered in typical wireless channels (≤500 Hz) the term {tilde over(D)}(τ,t) is nearly constant with respect to time. Therefore, the energyof its Fourier transform, d(τ,ν), will be concentrated in the DC term,d(τ,0). Using this fact, the expected error energy can be wellapproximated as:

${{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} \approx {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\sum\limits_{v = 0}^{N_{v} - 1}{{z\left( {\tau,v} \right)}^{*}{d\left( {\tau,0} \right)}{z\left( {\tau,v} \right)}}}}} = {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\sum\limits_{v = 0}^{N_{v} - 1}{{d\left( {\tau,0} \right)}{{z\left( {\tau,v} \right)}}^{2}}}}$

Because the terms d(τ,0) are positive, minimizing the expected errorenergy is equivalent to minimizing the energy of the entries of z, whichcan be expressed recursively:

${\overset{\sim}{Z}\left( {\tau,t} \right)} = {{\overset{\sim}{X}\left( {\tau,t} \right)} + {\overset{\sim}{P}\left( {\tau,t} \right)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{t}^{- 1}\left( {\tau,\tau^{\prime}} \right)}{\overset{\sim}{Z}\left( {\tau^{\prime},t} \right)}}}}$${z\left( {\tau,v} \right)} = {{x\left( {\tau,v} \right)} + {p\left( {\tau,v} \right)} - {{\mathcal{F}_{T}^{- 1}\left( {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{t}^{- 1}\left( {\tau,\tau^{\prime}} \right)}{\overset{\sim}{Z}\left( {\tau^{\prime},t} \right)}}} \right)}\left( {\tau,v} \right)}}$

Using these expressions, a good perturbation signal can be computediteratively:

Initialization set {tilde over (P)}(N_(τ),t)=0 and {tilde over(Z)}(N_(τ),t)={tilde over (X)}(N_(τ),t) for t=0, 1, . . . , N_(t)−1Update suppose we have selected {tilde over (P)}(τ′,t) and {tilde over(Z)}(τ′,t) for τ′=(τ+1), . . . , N_(τ)−1, then:

${\overset{\sim}{R}\left( {\tau,t} \right)} = {{\overset{\sim}{X}\left( {\tau,t} \right)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{t}^{- 1}\left( {\tau,\tau^{\prime}} \right)}{\overset{\sim}{Z}\left( {\tau^{\prime},t} \right)}}}}$${p\left( {\tau,v} \right)} = {- {P_{({{2{\mathbb{Z}}} + {2j\; {\mathbb{Z}}}})}\left( {\left( {\mathcal{F}_{T}^{- 1}\overset{\sim}{R}} \right)\left( {\tau,v} \right)} \right)}}$${\overset{\sim}{P}\left( {\tau,t} \right)} = {\left( {\mathcal{F}_{t}p} \right)\left( {\tau,t} \right)}$${\overset{\sim}{Z}\left( {\tau,t} \right)} = {{\overset{\sim}{P}\left( {\tau,t} \right)} + {\overset{\sim}{R}\left( {\tau,t} \right)}}$

for t=0, 1, . . . , N_(t)−1, where

denotes projection onto the coarse lattice. We note that the algorithmbounds the energy of the entries of z by two. FIG. 50 displays a blockdiagram of the algorithm.

Computing Perturbations with W_(THP)

In this subsection we disclose how to compute good perturbations usingSISO OTFS THP filters. Exactly like the single carrier case, theapplication of I−Ũ⁻¹ can be well approximated by the application of afilter (outside of edge effects):

${{\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{t}^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( {\tau^{\prime},t} \right)}}} \approx {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}\left( {n,t} \right)}{z\left( {{\tau + n},t} \right)}}}},$

for τ=0, 1, . . . , N_(τ)−N_(chan) and t=0, 1, . . . , N_(t)−1, whereN_(chan) denotes the channel delay width. We call the filtersW_(THP)(⋅,t) the SISO OTFS THP filters with:

W _(THP)(n,t)=Ũ _(t) ⁻¹(N _(chan) −n,N _(chan)),

for t=0, 1, . . . , N_(t)−1 and n=1, . . . , N_(chan). Like the singlecarrier case, to avoid edge effects, we enforce the QAM signal x to takethe value zero in an initialization region. Putting everything togethergives an efficient method to compute good perturbations:

-   -   1. Setup compute the filter coefficients: W_(THP)(n,t) for t=0,        1, . . . , N_(t)−1 and n=1, . . . , N_(chan).    -   2. Initialization set function values on the top delay bins        equal to zero:

{tilde over (P)}(τ,t)=0, {tilde over (X)}(τ,t)=0, and {tilde over(Z)}(τ,t)=0,

-   -    for τ=N_(τ)−N_(chan), . . . , N_(τ)−1 and t=0, 1, . . . ,        N_(t)−1.    -   3. Update Suppose we have selected {tilde over (P)}(τ′,t) and        {tilde over (Z)}(τ′,t) for τ′=(τ+1), . . . , N_(τ)−1 and t=0, 1,        . . . , N_(t)−1, then:

${\overset{\sim}{R}\left( {\tau,t} \right)} = {{\overset{\sim}{X}\left( {\tau,t} \right)} - {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}\left( {n,t} \right)}{\overset{\sim}{Z}\left( {{\tau + n},t} \right)}}}}$${p\left( {\tau,v} \right)} = {- {_{({{2{\mathbb{Z}}} + {2j\; {\mathbb{Z}}}})}\left( {\left( {\mathcal{F}_{t}^{- 1}\overset{\sim}{R}} \right)\left( {\tau,v} \right)} \right)}}$${\overset{\sim}{P}\left( {\tau,t} \right)} = {\left( {\mathcal{F}_{t}p} \right)\left( {\tau,t} \right)}$${\overset{\sim}{Z}\left( {\tau,t} \right)} = {{\overset{\sim}{X}\left( {\tau,t} \right)} + {\overset{\sim}{R}\left( {\tau,t} \right)}}$

-   -    for t=0, 1, . . . ,N_(t)−1 and ν=0, 1, . . . , N_(ν)−1.    -   4. Finalize suppose we have selected {tilde over (Z)}(τ′,t) and        {tilde over (P)}(τ′,t) for τ′=0, 1, . . . , N_(τ)−1 and t=0, 1,        . . . , N_(t)−1. Then we take:

${\overset{\sim}{X}\left( {\tau,t} \right)} = {{\overset{\sim}{Z}\left( {\tau,t} \right)} + {\sum\limits_{n = 1}^{N_{chan}}{{W_{{THP},t}(n)}{\overset{\sim}{Z}\left( {\tau,t} \right)}}}}$

-   -    for T N_(τ)−N_(chan), . . . , N_(τ)−1 and t=0, 1, . . . ,        N_(t)−1.

Because there is no QAM information transmitted in the initializationregion the finalize step does not overwrite user data. We note that byusing unique word OTFS, the initialization region can also do the workof the cyclic prefix thus limiting overhead. A block diagram for theupdate step is shown in FIG. 51.

Simulation Results

Application of the SISO OTFS THP filters was simulated using theparameters given in Table 8.

TABLE 8 Sample rate 10 MHz N_(f), N_(T) 128 N_(t), N_(v) 64 Delay span 1us Doppler span 1 kHz Shaping filter Root raised cosine, roll-off 12%Data noise variance −35 dB Channel noise variance −35 dB QAM orderInfinity (uniform in unit box)

FIG. 52 displays the channel time frequency response. FIG. 53 comparesthe SINR experienced by the UE for the two precoding schemes. We notethat the THP perturbed signal has both a high average SINR and anextremely stable SINR. In contract, just using the linear precoderresults in large SINR fluctuations (20+ dBs).

MIMO Single Carrier

In this section, we disclose a MIMO single carrier THP filter. Thefilter will be like the SISO single carrier THP filter, however, withthe filter taps now being matrix valued instead of scaler valued.Towards this end we express the expected error energy in the delaydomain (the domain where QAMs and perturbations are defined):

${{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {{\sum\limits_{f = 0}^{N_{f} - 1}{\left( {{X(f)} + {P(f)}} \right)^{*}{M_{error}(f)}\left( {{X(f)} + {P(f)}} \right)}}\mspace{20mu} = {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\left( {{x(\tau)} + {p(\tau)}} \right)^{*}{\sum\limits_{\tau^{\prime} = 0}^{N_{\tau} - 1}{{m_{error}\left( {\tau - \tau^{\prime}} \right)}\left( {{x\left( \tau^{\prime} \right)} + {p\left( \tau^{\prime} \right)}} \right)}}}}}$

where x(τ), p(τ)∈

^(L) ^(u) and m_(error)(τ)∈

^(L) ^(u) ^(×L) ^(u) . The QAM signal x and the perturbation signal pcan be represented as vectors in

^(L) ^(u) ^(N) ^(τ) , which we denote by x, p respectively. Likewise,convolution by m_(error) can be represented as multiplication by apositive definite block circulant matrix in

^(L) ^(u) ^(N) ^(τ) ^(×L) ^(u) ^(N) ^(τ) (blocks are of sizeL_(u)×L_(u)) which we denote by m_(error). Using these representations,we can write the expected error energy as:

expected error energy=(x+p)*m _(error)(x+p)

Computing Perturbations with Block Cholesky Factors

In this subsection, we disclose how to compute good perturbations usingthe block Cholesky decomposition:

m _(error) =U*DU,

where D is positive definite block diagonal and U is block unit uppertriangular (i.e. upper triangular with block diagonal matrices equal tothe identity matrix). Expressing the expected error energy in terms ofthe Cholesky factors gives:

${{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {{\left( {U\left( {x + p} \right)} \right)^{*}{D\left( {U\left( {x + p} \right)} \right)}} = {{z^{*}Dz} = {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{{z(\tau)}^{*}{D(\tau)}{z(\tau)}}}}}$

with:

-   -   z=U(x+p)    -   z(τ)∈        ^(L) ^(u) equal to the spatial values of z at delay bin τ:

z(τ)=z(τL _(u):(τ+1)L _(u)−1)

-   -   D(τ)∈        ^(L) ^(u) ^(×L) ^(u) equal to the τ'th block diagonal entry of        D:

D(τ)=D(τL _(u):(τ+1)L _(u)−1,τL _(u):(τ+1)L _(u)−1)

Therefore, minimizing the expected error energy is equivalent tominimizing the quadratic forms z(τ)*D(τ)z(τ), where the value of z(τ)can be expressed recursively:

${z(\tau)} = {{x(\tau)} + {p(\tau)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{U^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}}}$

with:

-   -   x(τ)∈        ^(L) ^(u) equal to the spatial values of x at delay bin τ:

x(τ)=x(τL _(u):(τ+1)L _(u)−1)

-   -   p(τ)∈        ^(L) ^(u) equal to the spatial values of p at delay bin τ:

p(τ)=p(τL _(u):(τ+1)L _(u)−1)

-   -   U⁻¹(τ,τ′)∈        ^(L) ^(u) ^(×L) ^(u) equal to the (τ,τ′) block entry of U⁻¹:

U ⁻¹(τ,τ′)=U ⁻¹(τL _(u):(τ+1)L _(u)−1,τ′L _(u):(τ′+1)L _(u)−1)

Suppose the value of z(τ′) has been selected for τ′=(τ+1), . . . ,N_(τ)−1, then the problem of minimizing the quadratic form z(τ)*D(τ)z(τ)can be cast as a closest lattice point problem (CLP) by noting that:

${{{z(\tau)}^{*}{D(\tau)}{z(\tau)}} = {\left( {{r(\tau)} + {p(\tau)}} \right)^{*}{D(\tau)}\left( {{r(\tau)} + {p(\tau)}} \right)}}{{r(\tau)} = {{x(\tau)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{U^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}}}}$

Therefore, minimizing the quadratic form is equivalent to solving theCLP:

$\begin{matrix}{{\underset{p \in {({{2{\mathbb{Z}}} + {2j\; {\mathbb{Z}}}})}^{L_{u}}}{argmin}\left( {{r(\tau)} + p} \right)}^{*}{D(\tau)}\left( {{r(\tau)} + p} \right)} & (1)\end{matrix}$

In general, the CLP problem is NP hard. A quick but suboptimal solutioncan be computed by projecting each coordinate of −r(τ) onto the lattice2

+2j

:

p(i)=−

(r(τ))(i)

for i=0, . . . , L_(u)−1. To compute a better solution a form of spatialTHP should be used; this includes the methods of V-Blast,sphere-encoding, k-best, lattice reduction, and their variants. Puttingeverything together gives a method to iteratively compute goodperturbation signals:

-   -   1. Initialization set p(N_(τ))=0 and z(N)=x(N_(τ)).    -   2. Update Suppose we have selected p(τ′) and z(τ′) for τ′=(+1),        . . . , N_(τ)−1, then:

${r(\tau)} = {{x(\tau)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{U^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}}}$p(τ) = CLP_(D(τ))(r(τ)) z(τ) = p(τ) + r(τ)

-   -    where CLP_(D(τ))(r(τ)) denotes some (usually suboptimal)        solution to the CLP problem of equation 1. A block diagram for        the update step is shown in FIG. 54.

Computing Perturbations with W_(THP)

In this subsection we disclose how to compute good perturbations using aMIMO single carrier THP filter. Like the SISO case, the application ofI−U⁻¹ can be well approximated by the application of a filter (outsideof edge effects):

${{\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{U^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}} \approx {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}(n)}{z\left( {\tau + n} \right)}}}},$

for τ=0, 1, . . . , N_(τ)−N_(chan)−1, where N_(chan) denotes the widthof the channel. We call the filter W_(THP) the MIMO single carrier THPfilter with:

W _(THP)(n)∈

^(L) ^(u) ^(×L) ^(u) and W _(THP)(n)=U ⁻¹(N _(chan) −n,N _(chan)),

for n=1, . . . , N_(chan). Also, outside of edge effects the positivedefinite matrix D(τ) is nearly constant:

D(τ)≈D(N _(chan)),

for τ=N_(chan), . . . , N_(τ)−N_(chan)−1. To avoid edge effects weenforce the QAM signal, x, to be zero for an initialization region.Putting everything together gives an efficient method to compute coarseperturbations:

-   -   1. Setup compute the filter coefficients W_(THP) (n) for n=1, .        . . , N_(chan). Compute the positive definite matrix        D(N_(chan)).    -   2. Initialization set the function values on the top delay bins        equal to zero:

p(τ)=0, x(τ)=0, and z(τ)=0,

-   -    for τ=N_(τ)−N_(chan), . . . , N_(τ)−1.    -   3. Update Suppose we have selected p(τ′) and z(τ′) for τ′=(τ+1),        . . . , N_(τ)−1, then:

${{r(\tau)} = {{x(\tau)} - {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}(n)}{z\left( {\tau + n} \right)}}}}}{{p(\tau)} = {CL{P_{D{(N_{chan})}}\left( {r(\tau)} \right)}}}{{z(\tau)} = {{p(\tau)} + {r(\tau)}}}$

-   -   4. Update suppose we have selected p(τ′) and z(τ′) for τ′=0, 1,        . . . , N_(τ)−1. Then we take:

${{x(\tau)} = {{z(\tau)} + {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}(n)}{z\left( {\tau + n} \right)}}}}},$

-   -    for τ=N_(τ)−N_(chan), . . . , N_(τ)−1.

Because there is no QAM information transmitted in the initializationregion the finalize step does not overwrite user data. We note that byusing unique word single carrier, the initialization region can also dothe work of the cyclic prefix thus limiting overhead. A block diagramfor the update step is shown in FIG. 55.

Simulation Results

Application of the MIMO single carrier THP filter was simulated with theparameters given in Table 9.

TABLE 9 Subcarrier spacing 15 kHz N_(f), N_(T) 600 Delay span 2 usDoppler span 0 kHz Data noise variance −35 dB Channel noise variance −35dB L_(μ) 8 L_(h) 8 QAM order Infinity (uniform in unit box)

FIG. 56 compares the SINR experienced by the 8 UEs for the two precodingschemes. We note that the THP perturbed signal has both a high averageSINR and an extremely stable SINR. In contrast, just using the linearprecoder results in large SINR fluctuations (20+ dBs).

MIMO OTFS

In this section, we disclose MIMO OTFS THP filters. The filters will belike the SISO OTFS THP filters, however, with the filter taps now beingmatrix valued instead of scaler valued. Towards this end we express theexpected error energy in the hybrid delay-time domain:

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\sum\limits_{f = 0}^{N_{f} - 1}{\sum\limits_{t = 0}^{N_{t} - 1}{\left( {{X\left( {f,t} \right)} + {P\left( {f,t} \right)}} \right)^{*}{M_{error}\left( {f,t} \right)}\left( {{X\left( {f,t} \right)} + {P\left( {f,t} \right)}} \right)}}}} \\{{= {\sum\limits_{t = 0}^{N_{t} - 1}{\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\left( {{\overset{˜}{X}\left( {\tau,t} \right)} + {\overset{˜}{P}\left( {\tau,t} \right)}} \right)^{*}{\sum\limits_{\tau^{\prime} = 0}^{N_{\tau} - 1}{{{\overset{\sim}{M}}_{error}\left( {{\tau - \tau^{\prime}},t} \right)}\left( {{\overset{˜}{X}\left( {\tau^{\prime},t} \right)} + {\overset{˜}{P}\left( {\tau^{\prime},t} \right)}} \right)}}}}}},}\end{matrix}$

Where the function {tilde over (X)}(τ,t) is defined as:

${\overset{˜}{X}\left( {\tau,\ t} \right)} = {{\left( {\mathcal{F}_{F}^{- 1}X} \right)\left( {\tau,t} \right)} = {\sum\limits_{f = 0}^{N_{f} - 1}{e^{\frac{2\pi jf\tau}{N_{f}}}{X\left( {f,t} \right)}}}}$

The functions {tilde over (P)}(τ,t) and {tilde over (M)}_(error)(τ,t)are defined in the same way. Next, we vectorize the functions {tildeover (P)}(⋅,t) and {tilde over (X)}(⋅,t) to express the expected errorenergy using linear algebra:

${expected}\mspace{14mu} {error}\mspace{14mu} {energy}{= {\sum\limits_{t = 0}^{N_{t} - 1}{\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)^{*}{{\overset{\sim}{M}}_{{error},t}\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)}}}}$

where {tilde over (X)}_(t), {tilde over (P)}_(t)∈

^(L) ^(u) ^(N) ^(τ) and the matrices {tilde over (M)}_(error,t)∈

^(L) ^(u) ^(N) ^(τ) ^(×L) ^(u) ^(N) ^(τ) are positive definite and blockcirculant (with blocks of size L_(u)×L_(u)).

Computing Perturbations with Block Cholesky Factors

In this subsection, we disclose how to compute good perturbations usingthe block Cholesky decompositions:

{tilde over (M)} _(error,t) =Ũ _(t) *{tilde over (D)} _(t) Ũ _(t),

for t=0, 1, . . . , N_(t)−1, where the {tilde over (D)}_(t) are positivedefinite block diagonal and the Ũ_(t) are block unit upper triangular(i.e. upper triangular with block diagonal matrices equal to theidentity matrix). Expressing the expected error energy in terms of theseCholesky factors gives:

$\begin{matrix}{{{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\sum\limits_{t = 0}^{N_{t} - 1}{\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)^{*}{{\overset{\sim}{U}}^{*}}_{t}{\overset{\sim}{D}}_{t}{{\overset{\sim}{U}}_{t}\left( {{\overset{\sim}{X}}_{t} + {\overset{\sim}{P}}_{t}} \right)}}}} \\{= {\sum\limits_{t = 0}^{N_{t} - 1}{{\overset{\sim}{Z}}_{t}^{*}{\overset{\sim}{D}}_{t}{\overset{\sim}{Z}}_{t}}}} \\{{= {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\sum\limits_{t = 0}^{N_{t} - 1}{{\overset{˜}{Z}\left( {\tau,t} \right)}^{*}{\overset{\sim}{D}\left( {\tau,}\  \right)}{\overset{˜}{Z}\left( {\tau,t} \right)}}}}},}\end{matrix}$

with:

-   -   {tilde over (Z)}_(t)=Ũ_(t)({tilde over (X)}_(t)+{tilde over        (P)}_(t))    -   {tilde over (Z)}(τ,t)∈        ^(L) ^(u) equal to the spatial values of {tilde over (Z)}_(t) at        delay bin τ:

{tilde over (Z)}(τ,t)={tilde over (Z)} _(t)(τL _(u):(τ+1)L _(u)−1)

-   -   {tilde over (D)}(τ,t)∈        ^(L) ^(u) ^(×L) ^(u) equal to the τ'th block diagonal entry of        {tilde over (D)}_(t):

{tilde over (D)}(τ,t)={tilde over (D)} _(t)(τL _(u):(τ+1)L _(u)−1,τL_(u):(τ+1)L _(u)−1)

Next, we express the expected error energy in the delay-Doppler domain(the domain where QAMs and perturbations are defined):

${{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} = {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\sum\limits_{v = 0}^{N_{v} - 1}{{z\left( {\tau,v} \right)}^{*}{\sum\limits_{v^{\prime} = 0}^{N_{v} - 1}{{d\left( {\tau,{v - v^{\prime}}} \right)}{z\left( {\tau,v^{\prime}} \right)}}}}}}$

where the function z(τ,ν) is defined as:

${z\left( {\tau,v} \right)} = {{\left( {\mathcal{F}_{T}^{- 1}\overset{˜}{Z}} \right)\left( {\tau,v} \right)} = {\sum\limits_{t = 0}^{N_{t} - 1}{e^{\frac{2\pi jtv}{N_{t}}}{\overset{˜}{Z}\left( {\tau,t} \right)}}}}$

The function d(τ,ν) is defined in the same way. For Doppler shiftsencountered in typical wireless channels (≤500 Hz) the term {tilde over(D)}(τ,t) is nearly constant with respect to time, therefore, the energyof its inverse Fourier transform, d(τ,ν), is concentrated in the DCterm, d(τ,0). Using this fact, the expected error energy can be wellapproximated as:

${{expected}\mspace{14mu} {error}\mspace{14mu} {energy}} \approx {\sum\limits_{\tau = 0}^{N_{\tau} - 1}{\sum\limits_{v = 0}^{N_{v} - 1}{{z\left( {\tau,\ v} \right)}^{*}{d\left( {\tau,0} \right)}{z\left( {\tau,v} \right)}}}}$

In conclusion, minimizing the expected error energy is equivalent tominimizing the quadratic forms z(τ,ν)*d(τ,0)z(τ,ν), where the value ofz(τ,ν) can be expressed recursively:

${z\left( {\tau,v} \right)} = {{x\left( {\tau,v} \right)} + {p\left( {\tau,v} \right)} - {{\mathcal{F}_{T}^{- 1}\left( {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{r}^{- 1}\left( {\tau,\ \tau^{\prime}} \right)}{\overset{˜}{Z}\left( {\tau^{\prime},t} \right)}}} \right)}\left( {\tau,v} \right)}}$

with:

-   -   x(τ,ν)∈        ^(L) ^(u) equal to the spatial values of x at delay-Doppler bin        (τ,ν)    -   p(τ,ν)∈        ^(L) ^(u) equal to the spatial values of p at delay-Doppler bin        (τ,ν)    -   Ũ_(t) ⁻¹(τ,τ′)∈        ^(L) ^(u) ^(×L) ^(u) equal to the (τ,τ′) block entry of Ũ_(t)        ⁻¹:

Ũ _(t) ⁻¹(τ,τ′)=Ũ _(t) ⁻¹(τL _(u):(τ+1)L _(u)−1,τ′L _(u):(τ′+1)L _(u)−1)

Suppose the value of {tilde over (Z)}(τ′,t) has been selected forτ′=(τ+1), . . . , N_(τ)−1 and t=0, 1, . . . , N_(t)−1, then the problemof minimizing the quadradic forms z(τ,ν)*d(τ,0)z(τ,ν) can be cast as aclosest lattice point problem (CLP) by noting that:

z(τ, v)^(*)d(τ, 0)z(τ) = (r(τ, v) + p(τ, v))^(*)d(τ, 0)(r(τ, v) + p(τ, v))${r\left( {\tau,v} \right)} = {{x\left( {\tau,v} \right)} - {{\mathcal{F}_{T}^{- 1}\left( {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{t}^{- 1}\left( {\tau,\ \tau^{\prime}} \right)}{\overset{˜}{Z}\left( {\tau^{\prime},t} \right)}}} \right)}\left( {\tau,v} \right)}}$

Therefore, minimizing the quadratic form is equivalent to solving theCLP:

$\begin{matrix}{\underset{p \in {({{2{\mathbb{Z}}} + {2j\; {\mathbb{Z}}}})}^{L_{u}}}{argmin}\mspace{14mu} \left( {{r\left( {\tau,v} \right)} + p} \right)^{*}{d\left( {\tau,0} \right)}\left( {{r\left( {\tau,v} \right)} + p} \right)} & (2)\end{matrix}$

In general, the CLP problem is NP hard. A quick but suboptimal solutioncan be computed by projecting each coordinate of −r(τ,ν) onto thelattice 2

+2j

:

p(i)=−

(r(τ,ν))(i)

for i=0, 1, . . . , L_(u)−1. To compute a better solution, a form ofspatial THP should be used; this includes the methods of V-Blast,sphere-encoding, k-best, lattice reduction, and their variants. Puttingeverything together gives a method to iteratively compute a goodperturbation signal:

-   -   1. Initialization set {tilde over (P)}(N_(τ),t)=0 and {tilde        over (Z)}(N_(τ),t)={tilde over (X)}(N_(τ),t) for t=0, 1, . . . ,        N_(t)−1    -   2. Update Suppose we have selected {tilde over (P)}(τ′,t) and        {tilde over (Z)}(τ′,t) for τ′=(τ+1) . . . . N_(τ)−1, then:

${\overset{˜}{R}\left( {\tau,t} \right)} = {{\overset{˜}{X}\left( {\tau,t} \right)} - {\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{t}^{- 1}\left( {\tau,\tau^{\prime}} \right)}{\overset{˜}{Z}\left( {\tau^{\prime},t} \right)}}}}$${r\left( {\tau,v} \right)} = {\left( {\mathcal{F}_{T}^{- 1}\overset{˜}{R}} \right)\left( {\tau,v} \right)}$p(τ, v) = CLP_(d(τ, 0))(r(τ, v))${\overset{˜}{P}\left( {\tau,t} \right)} = {\left( {\mathcal{F}_{T}p} \right)\left( {\tau,t} \right)}$${\overset{˜}{Z}\left( {\tau,t} \right)} = {{\overset{˜}{P}\left( {\tau,t} \right)} + {\overset{˜}{R}\left( {\tau,t} \right)}}$

here CLP_(d(τ,0))(r(τ,v)) denotes some (usually suboptimal) solution tothe CLP problem of equation 2. FIG. 57 shows a block diagram for theupdate step.

Computing Perturbations with W_(THP)

In this subsection we disclose how to compute good perturbations usingMIMO OTFS THP filters. Like the SISO case, the application of I−Ũ⁻¹ canbe well approximated by the application of filters (outside of edgeeffects):

${{\sum\limits_{\tau^{\prime} = {\tau + 1}}^{N_{\tau} - 1}{{{\overset{\sim}{U}}_{r}^{- 1}\left( {\tau,\tau^{\prime}} \right)}{z\left( \tau^{\prime} \right)}}} \approx {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}\left( {n,t} \right)}{z\left( {{\tau + n},t} \right)}}}},$

for τ=0, 1, . . . , N_(τ)−N_(chan)−1 and t=0, 1, . . . , N_(t)−1, whereN_(chan) denotes the width of the channel. We call the filtersW_(THP)(⋅,t) the MIMO OTFS THP filters with:

W _(THP)(n,t)∈

^(L) ^(u) ^(×L) ^(u) and W _(THP)(n,t)=Ũ _(t) ⁻¹(N _(chan) −n,N_(chan)),

for n=1, . . . , N_(chan) and t=0, 1, . . . , N_(t). Also, outside ofedge effects the positive definite matrix d(τ,0) is nearly constant:

d(τ,0)≈d(N _(chan),0),

for T=N_(chan), . . . , N_(τ)−N_(chan)−1. To avoid edge effects weenforce the QAM signal, x, to be zero for an initialization region.Putting everything together gives an efficient method to compute goodperturbations:

-   -   1. Setup compute the filter coefficients: W_(THP)(n,t) for t=0,        1, . . . , N_(t)−1 and n=1, . . . , N_(chan). Compute the        positive definite matrix d(N_(chan), 0).    -   2. Initialization set function values on the top delay bins        equal to zero:

{tilde over (P)}(τ,t)=0, {tilde over (X)}(τ,t)=0, and {tilde over(Z)}(τ,t)=0,

-   -    for τ=N_(τ)−N_(chan), . . . , N_(τ)−1 and t=0, 1, . . . ,        N_(t)−1.    -   3. Update suppose we have selected {tilde over (P)}(τ′,t) and        {tilde over (Z)}(τ′,t) for τ′=(τ+1), . . . , N_(τ)−1 and t=0, 1,        . . . , N_(t)−1 then:

${\overset{˜}{R}\left( {\tau,t} \right)} = {{\overset{˜}{X}\left( {\tau,t} \right)} - {\sum\limits_{n = 1}^{N_{chan}}{{W_{{THP},t}(n)}{\overset{˜}{Z}\left( {{\tau + n},t} \right)}}}}$${r\left( {\tau,v} \right)} = {\left( {\mathcal{F}_{T}^{- 1}\overset{˜}{R}} \right)\left( {\tau,v} \right)}$p(τ, v) = CLP_(d(N_(chan), 0))(r(τ, v))${\overset{˜}{P}\left( {\tau,t} \right)} = {\left( {\mathcal{F}_{T}p} \right)\left( {\tau,t} \right)}$${\overset{˜}{Z}\left( {\tau,t} \right)} = {{\overset{˜}{X}\left( {\tau,t} \right)} + {\overset{˜}{R}\left( {\tau,t} \right)}}$

-   -    for t=0, 1, . . . , N_(t)−1 and ν=0, 1, . . . , N_(ν)−1.    -   4. Finalize suppose we have selected {tilde over (Z)}(τ′,t) and        {tilde over (P)}(τ′,t) for τ′=0, 1, . . . , N_(τ)−1 and t=0, 1,        . . . , N_(t)−1. Then we take:

${\overset{˜}{X}\left( {\tau,t} \right)} = {{\overset{˜}{Z}\left( {\tau,t} \right)} + {\sum\limits_{n = 1}^{N_{chan}}{{W_{THP}\left( {n,t} \right)}{\overset{˜}{Z}\left( {\tau,t} \right)}}}}$

-   -    for τ=N_(τ)−N_(chan), . . . , N_(τ)−1 and t=0, 1, . . . ,        N_(t)−1.

Because there is no QAM information transmitted in the initializationregion the finalize step does not overwrite user data. We note that byusing unique word OTFS, the initialization region can also do the workof the cyclic prefix thus limiting overhead. A block diagram for theupdate step is shown in FIG. 58.

Simulation Results

Application of the OTFS MIMO THP filter was simulated with theparameters given in Table 10.

TABLE 10 Subcarrier spacing 15 kHz N_(f,) N_(T) 128 N_(t), N_(v) 256Delay span 1 us Doppler span 1 kHz Data noise variance −35 dB Channelnoise variance −35 dB L_(μ), 8 L_(h) 8 QAM order Infinity (uniform inunit box)

FIG. 59 shows the SINR experienced by UE 1 for the two precodingschemes. We note that the THP perturbed signal has both a high averageSINR and an extremely stable SINR. In contrast, just using the linearprecoder results in large SINR fluctuations (15+ dBs).

Exemplary Methods

FIG. 60 is a flowchart illustrating an example method 6000 fortransmitting wireless signals.

The method 6000 includes, at 6002, mapping data to generate a quadratureamplitude modulation (QAM) signal in a delay Doppler domain.

The method 6000 includes, at 6004, determining a perturbation signal tominimize expected interference and noise. The present document disclosestechniques for determining the perturbation signal.

The method 6000 includes, at 6006, perturbing the QAM signal with theperturbation signal, thereby producing a perturbed signal.

The method 6000 includes, at 6008, generating a pre-coded signal bypre-coding, using a linear pre-coder, the perturbed signal.

The method 6000 includes, at 6010, transmitting the pre-coded signalusing an orthogonal time frequency space modulation signal scheme. Forexample, the pre-coded signal may be spatially selective such that agreater energy is emitted in a first direction for which a first channelstate information (CSI) estimate is available than a second directionfor which a second CSI estimate is available and the second CSI estimateis less accurate than the first CSI estimate. For example, FIGS. 20 and21 shows some example embodiments.

In some embodiments, the method 6000 may further include updating thelinear pre-coder using an explicit feedback from a user device.Alternatively, the method 6000 may include updating the linear precoderusing implicit feedback. As depicted with reference to FIGS. 25-28, insome embodiments, the perturbation signal may be selected using a coarselattice structure. The lattice structure may represent possibleconstellation points.

FIG. 61 is a flowchart illustrating an example of a wirelesscommunication method 3900.

The method 6100 includes, at 6102, generating a quadrature amplitudemodulation (QAM) signal in a two-dimensional (2D) delay-Doppler domainby modulating data bits.

The method 6100 includes, at 6104, using an error metric along with theQAM signal to generate a perturbation signal.

The method 6100 includes, at 6106, adding the perturbation signal to theQAM signal to generate a perturbed QAM signal.

The method 6100 includes, at 6108, transforming the perturbed QAM signalinto a 2D transformed time frequency signal using a 2D Fourier transformfrom the 2D delay-Doppler domain to a 2D time-frequency domain.

The method 6100 includes, at 6110, filtering the 2D transformed signalusing an optimal precoding filter to generate a precoded signal.

The method 6100 includes, at 6112, transmitting the precoded signal overa communication medium.

FIG. 62 is a flowchart representation of an example method 6200 ofwireless communications.

The method 6200 includes, at 6202, receiving a quadrature amplitudemodulation (QAM) signal in the time-frequency domain.

The method 6200 includes, at 6204, applying an orthogonal transformationto convert the received QAM signal into delay-Doppler domain.

The method 6200 includes, at 6206, determining a closest lattice pointcorresponding to the QAM constellation point of the QAM signal in thedelay-Doppler domain.

The method 6200 includes, at 6208, removing perturbation in the receivedQAM signal by subtracting the closest lattice point from the QAMconstellation point.

The method 6200 includes, at 6210, demodulating the un-perturbed QAMsignal to obtain data. Additional receiver-side technique that may beused with the method 4000 have been described with reference to FIG. 37and other figures.

In some embodiments, determining the closest lattice point comprisesprojecting the received QAM signal in the delay-Doppler domain onto acoarse lattice structure, and wherein the perturbation lies on thecoarse lattice structure.

In some embodiments, determining the closest lattice point is based onusing a non-linear filter to minimize an error associated with thereceived QAM signal. In an example, the non-linear filter comprises aspatial Tomlinson-Harashima filter (e.g., as shown in FIG. 38). Inanother example, the QAM signal is received through a channel, andwherein the non-linear filter is based on estimated second orderstatistics of the channel. The second order statistics of the channelmay be estimated empirically based on, for example, channel impulseresponses (in both the time and frequency domains), examples of whichare shown in FIGS. 43, 48 and 52.

FIG. 63 is a block diagram illustration of an example of a wirelesscommunication system 6300. The system 6300 may include one or moretransmitters/receivers. For example, a transmitter located at a basestation 6304 may transmit signals s(t) to a receiver device 6302, wherethe received signal r(t) may be affected by the wireless channel thatincludes air medium and may also include moving or stationaryinterferers or scatterers such as buildings, vegetation and vehicle. Thereceiver device 6302 may also transmit signals to the base station 6304,which are not explicitly shown in the drawing. The receiver device 6302may be a user equipment such as a smartphone, a tablet computer, alaptop, or a non-mobile equipment such as a small cel base station or awireless access receiver, and so on. The various transmitter-sidetechniques described in the present document may be implemented usingthe transmission circuitry of the base station 4104 and/or the receiverapparatus 6302. The various receiver-side techniques described in thepresent document may be implemented using receiver circuitry of the basestation 6304 and/or the receiver apparatus 6302.

FIG. 64 is a block diagram representation of a communication apparatus6400. The apparatus may include a processor 6402. The apparatus 6400 mayinclude a memory 6404. The apparatus 6400 may include transmissionand/or reception circuitry 6406. The processor 6402 may be configured toimplement a method described in the present document. The memory 6404may be configured to store data during the implementation of a method,or may store processor-executable code that, when executed by theprocessor 6402, causes the processor 6402 to implement a techniquedescribed in the present document. The transceiver circuitry 6406 may beconfigured to perform signal reception or signal transmissionprocessing.

The disclosed and other embodiments, modules and the functionaloperations described in this document can be implemented in digitalelectronic circuitry, or in computer software, firmware, or hardware,including the structures disclosed in this document and their structuralequivalents, or in combinations of one or more of them. The disclosedand other embodiments can be implemented as one or more computer programproducts, i.e., one or more modules of computer program instructionsencoded on a computer readable medium for execution by, or to controlthe operation of, data processing apparatus. The computer readablemedium can be a machine-readable storage device, a machine-readablestorage substrate, a memory device, a composition of matter effecting amachine-readable propagated signal, or a combination of one or morethem. The term “data processing apparatus” encompasses all apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them. A propagated signal is an artificially generated signal, e.g.,a machine-generated electrical, optical, or electromagnetic signal, thatis generated to encode information for transmission to suitable receiverapparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a standalone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this document can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices. Computer readable media suitable for storingcomputer program instructions and data include all forms of non-volatilememory, media and memory devices, including by way of examplesemiconductor memory devices, e.g., EPROM, EEPROM, and flash memorydevices; magnetic disks, e.g., internal hard disks or removable disks;magneto optical disks; and CD ROM and DVD-ROM disks. The processor andthe memory can be supplemented by, or incorporated in, special purposelogic circuitry.

While this patent document contains many specifics, these should not beconstrued as limitations on the scope of an invention that is claimed orof what may be claimed, but rather as descriptions of features specificto particular embodiments. Certain features that are described in thisdocument in the context of separate embodiments can also be implementedin combination in a single embodiment. Conversely, various features thatare described in the context of a single embodiment can also beimplemented in multiple embodiments separately or in any suitablesub-combination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asub-combination or a variation of a sub-combination. Similarly, whileoperations are depicted in the drawings in a particular order, thisshould not be understood as requiring that such operations be performedin the particular order shown or in sequential order, or that allillustrated operations be performed, to achieve desirable results.

Only a few examples and implementations are disclosed. Variations,modifications, and enhancements to the described examples andimplementations and other implementations can be made based on what isdisclosed.

What is claimed is:
 1. A wireless communications method, comprising:generating a quadrature amplitude modulation (QAM) signal in atwo-dimensional (2D) delay-Doppler domain by modulating data bits; usingan error metric along with the QAM signal to generate a perturbationsignal; generating a perturbed QAM signal by adding the perturbationsignal to the QAM signal; transforming the perturbed QAM signal into a2D transformed time frequency signal using a 2D Fourier transform fromthe 2D delay-Doppler domain to a 2D time-frequency domain; generating aprecoded signal by filtering the 2D transformed signal using a precodingfilter; and transmitting the precoded signal over a communicationmedium.
 2. The method of claim 1, wherein the perturbation signal isgenerated to fall on a coarse lattice grid comprising constellationpoints.
 3. The method of claim 1, wherein the pre-coded signal isspatially selective such that a greater energy is emitted in a firstdirection for which a first channel state information (CSI) estimate isavailable than a second direction for which a second CSI estimate isavailable and the second CSI estimate is less accurate than the firstCSI estimate.
 4. The method of claim 1, wherein the precoding filtercomprises a linear pre-coder that is updated using an explicit feedbackfrom a user device.
 5. The method of claim 1, further including:updating the linear pre-coder using an implicit feedback.
 6. The methodof claim 1, wherein the determining the perturbation signal includes:selecting, as the perturbation signal, a set of lattice points of acoarse lattice structure.
 7. The method of claim 6, wherein theselecting is by using a non-linear filter to select the set of latticepoints that minimizes the expected interference and noise.
 8. The methodof claim 6, wherein the non-linear filter comprises aTomlinson-Harashima filter.
 9. The method of claim 1, wherein theselecting the perturbation signal includes selecting p_(opt), thatminimizes:Σ_(f=1) ^(N) ^(f) Σ_(t=1) ^(N) ^(t) (X(f,t)+P(f,t))*M_(error)(f,t)(X(f,t)+P(f,t)) wherein f and t are integer variables,N_(f) and N_(t) represent frequency and time bins, X(f,t) is atwo-dimensional representation of input signal in time and frequencydomains, P(f,t) is a two-dimensional representation of perturbationsignal in time and frequency domains, * represents conjugationoperation, and M_(error)(f,t) represents an error metric.
 10. The methodof claim 1, wherein the linear pre-coder depends on an estimate of awireless channel over which the pre-coded signal is transmitted.
 11. Anapparatus for wireless communication, comprising: a processor; and atransceiver circuitry coupled to the processor, wherein the processor isconfigured to: generate a quadrature amplitude modulation (QAM) signalin a two-dimensional (2D) delay-Doppler domain by modulating data bits;use an error metric along with the QAM signal to generate a perturbationsignal; generate a perturbed QAM signal by adding the perturbationsignal to the QAM signal; transform the perturbed QAM signal into a 2Dtransformed time frequency signal using a 2D Fourier transform from the2D delay-Doppler domain to a 2D time-frequency domain; generate aprecoded signal by filtering the 2D transformed signal using a precodingfilter; and the transceiver circuitry is configured to: transmit theprecoded signal over a communication medium.
 12. The apparatus of claim11, wherein the perturbation signal is generated to fall on a coarselattice grid comprising constellation points.
 13. The apparatus of claim11, wherein the pre-coded signal is spatially selective such that agreater energy is emitted in a first direction for which a first channelstate information (CSI) estimate is available than a second directionfor which a second CSI estimate is available and the second CSI estimateis less accurate than the first CSI estimate.
 14. The apparatus of claim11, wherein the precoding filter comprises a linear pre-coder that isupdated using an explicit feedback from a user device.
 15. The apparatusof claim 11, wherein the processor is further configured to: update thelinear pre-coder using an implicit feedback.
 16. The apparatus of claim11, wherein the determining the perturbation signal includes: selecting,as the perturbation signal, a set of lattice points of a coarse latticestructure.
 17. The apparatus of claim 16, wherein the selecting is byusing a non-linear filter to select the set of lattice points thatminimizes the expected interference and noise.
 18. The apparatus ofclaim 16, wherein the non-linear filter comprises a Tomlinson-Harashimafilter.
 19. The apparatus of claim 11, wherein the selecting theperturbation signal includes selecting p_(opt), that minimizes:Σ_(f=1) ^(N) ^(f) E _(t=1) ^(N) ^(t) (X(f,t)+P(f,t))*M_(error)(f,t)(X(f,t)+P(f,t)) wherein f and t are integer variables,N_(f) and N_(t) represent frequency and time bins, X(f,t) is atwo-dimensional representation of input signal in time and frequencydomains, P(f,t) is a two-dimensional representation of perturbationsignal in time and frequency domains, * represents conjugationoperation, and M_(error)(f,t) represents an error metric.
 20. Theapparatus of claim 11, wherein the linear pre-coder depends on anestimate of a wireless channel over which the pre-coded signal istransmitted.